<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>SystemSharp: StdLogicLib.cs Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">SystemSharp
   &#160;<span id="projectnumber">0.3</span>
   </div>
   <div id="projectbrief">A system-level modeling framework for designing real-time embedded systems</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_std_logic_lib_8cs_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Events</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">StdLogicLib.cs</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_std_logic_lib_8cs.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keyword">using</span> System;</div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">using</span> System.Collections.Generic;</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">using</span> System.Diagnostics.Contracts;</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">using</span> System.IO;</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">using</span> System.Linq;</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">using</span> System.Reflection;</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">using</span> System.Text;</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#if USE_INTX</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span><span class="keyword">using</span> IntXLib;</div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor"></span><span class="keyword">using</span> System.Numerics;</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor"></span><span class="keyword">using</span> SystemSharp.Analysis;</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">using</span> SystemSharp.Common;</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">using</span> SystemSharp.Components;</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">using</span> SystemSharp.DataTypes;</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">using</span> SystemSharp.Meta;</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">using</span> SystemSharp.Synthesis;</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">using</span> SystemSharp.SysDOM;</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">using</span> System.Threading.Tasks;</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">namespace </span>SystemSharp.DataTypes</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;{</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3">   43</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">enum</span> <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3">ESizedProperties</a></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    {</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    }</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_data_types_1_1_i_sized.html">   51</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">interface </span><a class="code" href="interface_system_sharp_1_1_data_types_1_1_i_sized.html">ISized</a></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    {</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_data_types_1_1_i_sized.html#aa09825beb37317e3018997b9942421ee">   53</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    }</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_data_types_1_1_i_size_of.html">   56</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">interface </span><a class="code" href="interface_system_sharp_1_1_data_types_1_1_i_size_of.html">ISizeOf</a></div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    {</div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_data_types_1_1_i_size_of.html#adefa1fee5576ad4e70fd56779c19d82f">   58</a></span>&#160;        <span class="keywordtype">int</span> SizeOfThis { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    }</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_data_types_1_1_i_indexable_3_01_t_a_00_01_t_e_01_4.html">   66</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">interface </span>IIndexable&lt;TA, TE&gt; :</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <a class="code" href="interface_system_sharp_1_1_data_types_1_1_i_sized.html">ISized</a></div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    {</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        TE <span class="keyword">this</span>[<span class="keywordtype">int</span> i]</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_data_types_1_1_i_indexable_3_01_t_a_00_01_t_e_01_4.html#a2033856d1d1cb6ab6373aa49794c4fd3">   75</a></span>&#160;        {</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_intrinsic_function.html">MapToIntrinsicFunction</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function.html">IntrinsicFunction</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function.html#a762cc72094d2dc70761af21448c23880">EAction</a>.Index)]</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;            <span class="keyword">get</span>;</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        }</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        TA <span class="keyword">this</span>[<span class="keywordtype">int</span> i0, <span class="keywordtype">int</span> i1]</div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_data_types_1_1_i_indexable_3_01_t_a_00_01_t_e_01_4.html#aa677efb8f5ad7f99e3c65b7adb5d893d">   88</a></span>&#160;        {</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_slice.html">MapToSlice</a>]</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;            <span class="keyword">get</span>;</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        }</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    }</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_data_types_1_1_i_concatenable_3_01_t_a_00_01_t_e_01_4.html">  100</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">interface </span>IConcatenable&lt;TA, TE&gt;</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    {</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_bin_op.html">MapToBinOp</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_bin_op.html">BinOp</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_bin_op.html#ab5bc58b1b90b8ea714fe042b2a0e63ef">Kind</a>.Concat)]</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        TA Concat(TA other);</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_bin_op.html">MapToBinOp</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_bin_op.html">BinOp</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_bin_op.html#ab5bc58b1b90b8ea714fe042b2a0e63ef">Kind</a>.Concat)]</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        TA Concat(TE other);</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    }</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_concat_extensions.html">  121</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_data_types_1_1_concat_extensions.html">ConcatExtensions</a></div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    {</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keyword">class </span>ConcatRewriter : <a class="code" href="class_system_sharp_1_1_components_1_1_rewrite_call.html">RewriteCall</a></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        {</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;            <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">bool</span> Rewrite(<a class="code" href="class_system_sharp_1_1_meta_1_1_code_descriptor.html">CodeDescriptor</a> decompilee, System.Reflection.MethodBase callee, Analysis.StackElement[] args, Analysis.IDecompiler stack, <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html">IFunctionBuilder</a> builder)</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;            {</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;                Array arr = (Array)args[0].Sample;</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;                <span class="keywordflow">if</span> (arr == null)</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> InvalidOperationException(<span class="stringliteral">&quot;Unable to deduce array length&quot;</span>);</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;                <span class="keywordtype">int</span> numElems = arr.Length;</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;                Type tTE = arr.GetType().GetElementType();</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;                Type tTA;</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;                callee.IsFunction(out tTA);</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_call.html">FunctionCall</a> newCall = IntrinsicFunctions.NewArray(tTE, LiteralReference.CreateConstant(numElems), arr);</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_spec.html">FunctionSpec</a> fspec = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_spec.html">FunctionSpec</a>)newCall.Callee;</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function.html">IntrinsicFunction</a> ifun = fspec.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_spec.html#af788e11ab4b93a4e2ce4ef47e6082938">IntrinsicRep</a>;</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_array_params.html">ArrayParams</a> aparams = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_array_params.html">ArrayParams</a>)ifun.Parameter;</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;                <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; numElems; i++)</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;                {</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;                    aparams.Elements[i] = IntrinsicFunctions.GetArrayElement(</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;                        args[0].Expr,</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;                        LiteralReference.CreateConstant(i));</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;                }</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;                <span class="keywordtype">object</span> sample = null;</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;                <span class="keywordflow">try</span></div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;                {</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;                    sample = callee.Invoke(arr);</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;                }</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;                <span class="keywordflow">catch</span> (Exception)</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;                {</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                }</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> conv = IntrinsicFunctions.Cast(newCall, arr.GetType(), tTA);</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;                stack.Push(conv, sample);</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;            }</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        }</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        [ConcatRewriter]</div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_concat_extensions.html#a36fe45adc3f5e9d2263dd733ce7f7e10">  162</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> TA Concat&lt;TA, TE&gt;(<span class="keyword">this</span> TE[] arr) where TA : <a class="code" href="interface_system_sharp_1_1_data_types_1_1_i_concatenable_3_01_t_a_00_01_t_e_01_4.html">IConcatenable&lt;TA, TE&gt;</a></div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        {</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;            TA cur = <span class="keywordflow">default</span>(TA);</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">long</span> i = 0; i &lt; arr.LongLength; i++)</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;            {</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                cur = cur.Concat(arr[i]);</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;            }</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;            <span class="keywordflow">return</span> cur;</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        }</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    }</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_std_logic_s_l_v.html">  173</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_data_types_1_1_std_logic_s_l_v.html">StdLogicSLV</a> : <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_serializer.html">ISerializer</a></div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    {</div>
<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_std_logic_s_l_v.html#a2bb19142a038f9a1e0a757dfe4c29994">  175</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="class_system_sharp_1_1_data_types_1_1_std_logic_s_l_v.html#a2bb19142a038f9a1e0a757dfe4c29994">Serialize</a>(<span class="keywordtype">object</span> value)</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        {</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;            <span class="keywordtype">char</span> c = (<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>)value;</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>)(<span class="stringliteral">&quot;&quot;</span> + c);</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        }</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
<div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_std_logic_s_l_v.html#aebb42c00a7f772d62d8ca4f754ff560e">  181</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">object</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_std_logic_s_l_v.html#aebb42c00a7f772d62d8ca4f754ff560e">Deserialize</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> slv, <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> targetType)</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        {</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;            <span class="keywordflow">return</span> slv[0];</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        }</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    }</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_intrinsic_type.html">MapToIntrinsicType</a>(<a class="code" href="namespace_system_sharp_1_1_meta.html#a6d63cf701a55bdbe2a3bb6df72b1c11d">EIntrinsicTypes</a>.StdLogic)]</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    [<a class="code" href="class_system_sharp_1_1_synthesis_1_1_s_l_v_serializable.html">SLVSerializable</a>(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>), typeof(<a class="code" href="class_system_sharp_1_1_data_types_1_1_std_logic_s_l_v.html">StdLogicSLV</a>))]</div>
<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">  192</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">struct </span><a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> :</div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        IResolvable&lt;StdLogic&gt;,</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        <a class="code" href="interface_system_sharp_1_1_data_types_1_1_i_size_of.html">ISizeOf</a></div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    {</div>
<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">  199</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">enum</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a></div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        {</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;            Uninitialized,</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;            <a class="code" href="namespace_system_sharp_1_1_sys_d_o_m.html#af42b902eef7452e162a95b646eeea911a88183b946cc5f0e8c96b2e66e1c74a7e">Unknown</a>,</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;            Logic0,</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;            Logic1,</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;            HighZ,</div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;            Weak,</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;            Weak0,</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;            Weak1,</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;            DontCare</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        }</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div>
<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#aa6bdac2772cc90b2433227699dc63092">  250</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> readonly <span class="keywordtype">char</span>[] Literals = { <span class="charliteral">&#39;U&#39;</span>, <span class="charliteral">&#39;X&#39;</span>, <span class="charliteral">&#39;0&#39;</span>, <span class="charliteral">&#39;1&#39;</span>, <span class="charliteral">&#39;Z&#39;</span>, <span class="charliteral">&#39;W&#39;</span>, <span class="charliteral">&#39;L&#39;</span>, <span class="charliteral">&#39;H&#39;</span>, <span class="charliteral">&#39;-&#39;</span> };</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        <span class="keyword">private</span> <span class="keyword">static</span> readonly <span class="keywordtype">string</span>[] ResolutionMapStr =</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        {</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;            <span class="stringliteral">&quot;UUUUUUUUU&quot;</span>,</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;            <span class="stringliteral">&quot;UXXXXXXXX&quot;</span>,</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;            <span class="stringliteral">&quot;UX0X0000X&quot;</span>,</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;            <span class="stringliteral">&quot;UXX11111X&quot;</span>,</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;            <span class="stringliteral">&quot;UX01ZWLHX&quot;</span>,</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;            <span class="stringliteral">&quot;UX01WWWWX&quot;</span>,</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;            <span class="stringliteral">&quot;UX01LWLWX&quot;</span>,</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;            <span class="stringliteral">&quot;UX01HWWHX&quot;</span>,</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;            <span class="stringliteral">&quot;UXXXXXXXX&quot;</span></div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        };</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <span class="keyword">private</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[,] ResolutionMap;</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div>
<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ae40c20dc58007b7c0d8dde8cde5a869d">  267</a></span>&#160;        <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ae40c20dc58007b7c0d8dde8cde5a869d">StdLogic</a>()</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        {</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;            ResolutionMap = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[Literals.Length, Literals.Length];</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; Literals.Length; i++)</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;            {</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;                <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; Literals.Length; j++)</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;                    ResolutionMap[(<span class="keywordtype">int</span>)ToEnum(Literals[i]), (int)ToEnum(Literals[j])] = ToEnum(ResolutionMapStr[i][j]);</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;            }</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        }</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_model_element.html">ModelElement</a>]</div>
<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a60f3aa92b41b87ec3a4a01ba4ae65090">  281</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> readonly <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> U = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>.Uninitialized);</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_model_element.html">ModelElement</a>]</div>
<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ada2d6b163e1542fb13263921733425b0">  287</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> readonly <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> X = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>.Unknown);</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_model_element.html">ModelElement</a>]</div>
<div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#abbec3123b2d1b5f7c9013cf3d65016c6">  293</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> readonly <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> _0 = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>.Logic0);</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_model_element.html">ModelElement</a>]</div>
<div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a1386536806979746228680b479e117e5">  299</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> readonly <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> _1 = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>.Logic1);</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_model_element.html">ModelElement</a>]</div>
<div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a70c915d91efd028686c3611a3c0b2351">  305</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> readonly <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> Z = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>.HighZ);</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_model_element.html">ModelElement</a>]</div>
<div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a8cae59134f4c2d4666ea9d0cf371b0bf">  311</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> readonly <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> W = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>.Weak);</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_model_element.html">ModelElement</a>]</div>
<div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#aca40a5fa7a94cf8c90d35475da879d90">  317</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> readonly <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> L = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>.Weak0);</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_model_element.html">ModelElement</a>]</div>
<div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#af35b2918622de4298a54a74ca8fc21c3">  323</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> readonly <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> H = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>.Weak1);</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_model_element.html">ModelElement</a>]</div>
<div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#add25ddf0ef60da1dbb758c712b89fc03">  329</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> readonly <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> DC = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>.DontCare);</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        <span class="keyword">private</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a> _value;</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_type_conversion.html">TypeConversion</a>(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>), typeof(<span class="keywordtype">char</span>))]</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ab9c5cc5c8ae73f59d4e30f64edcb6744">  340</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ab9c5cc5c8ae73f59d4e30f64edcb6744">ToChar</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a> value)</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        {</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;            <span class="keywordflow">return</span> Literals[(int)value];</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        }</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_type_conversion.html">TypeConversion</a>(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>), typeof(EValues))]</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#aa097c6c5e30b22f7b15db33d8b07a9c9">  353</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#aa097c6c5e30b22f7b15db33d8b07a9c9">ToEnum</a>(<span class="keywordtype">char</span> c)</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        {</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; Literals.Length; i++)</div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;                <span class="keywordflow">if</span> (Literals[i] == c)</div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;                    <span class="keywordflow">return</span> (<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>)i;</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Illegal literal&quot;</span>, <span class="stringliteral">&quot;c&quot;</span>);</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        }</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;        <span class="keyword">private</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(EValues value)</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        {</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;            _value = value;</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        }</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_type_conversion.html">TypeConversion</a>(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>), typeof(<span class="keywordtype">string</span>))]</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00369"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a9986e53fb7c9e6f2448ce1e5218e4cd7">  369</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">string</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a9986e53fb7c9e6f2448ce1e5218e4cd7">ToString</a>()</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        {</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;            <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span> + ToChar(_value);</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        }</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div>
<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a1f0a07fefe3cfb0946caaa51b8d8ae52">  374</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">int</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a1f0a07fefe3cfb0946caaa51b8d8ae52">GetHashCode</a>()</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;        {</div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;            <span class="keywordflow">return</span> _value.GetHashCode();</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;        }</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;</div>
<div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a6c48f839aaa6102625c92a90a98714ce">  382</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">bool</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a6c48f839aaa6102625c92a90a98714ce">Equals</a>(<span class="keywordtype">object</span> obj)</div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        {</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;            <span class="keywordflow">if</span> (obj is <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>)</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;            {</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;                StdLogic sl = (StdLogic)obj;</div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;                <span class="keywordflow">return</span> _value == sl._value;</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;            }</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;            {</div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;            }</div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        }</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_static_evaluation.html">StaticEvaluation</a>]</div>
<div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a8258185519e7d565e017ffc2a0dac4e5">  399</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> implicit <span class="keyword">operator</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a> value)</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        {</div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(value);</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        }</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_static_evaluation.html">StaticEvaluation</a>]</div>
<div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a67763e98545601a608024763adf1cd86">  408</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> implicit <span class="keyword">operator</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sl)</div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;        {</div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;            <span class="keywordflow">return</span> sl._value;</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;        }</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;</div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_static_evaluation.html">StaticEvaluation</a>]</div>
<div class="line"><a name="l00419"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a13b8355cddb66b422b544c7f21a7e41a">  419</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> implicit <span class="keyword">operator</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(<span class="keywordtype">char</span> value)</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        {</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;            <span class="keywordflow">return</span> ToEnum(value);</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;        }</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_static_evaluation.html">StaticEvaluation</a>]</div>
<div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a0148a338257c478c3ca89039c7814ec3">  428</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> implicit <span class="keyword">operator</span> char(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sl)</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;        {</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;            <span class="keywordflow">return</span> ToChar(sl);</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;        }</div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_type_conversion.html">TypeConversion</a>(typeof(<span class="keywordtype">bool</span>), typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>))]</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ab9d2140350d2ceb200253ac9e63be0a6">  440</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> implicit <span class="keyword">operator</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>(<span class="keywordtype">bool</span> b)</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;        {</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;            <span class="keywordflow">return</span> b ? _1 : _0;</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;        }</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_auto_conversion.html">AutoConversion</a>(<a class="code" href="class_system_sharp_1_1_components_1_1_auto_conversion.html">AutoConversion</a>.<a class="code" href="class_system_sharp_1_1_components_1_1_auto_conversion.html#ac208dc4d19cc5b848bca7f77d3400ae6">EAction</a>.Exclude)]</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00451"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a0870de35241e19d86156e4e32547f0e3">  451</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> implicit <span class="keyword">operator</span> bool(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sl)</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;        {</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;            <span class="comment">//if (!sl.Is0 &amp;&amp; !sl.Is1)</span></div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;            <span class="comment">//    throw new InvalidOperationException(&quot;Unambigous conversion of StdLogic to bool not possible&quot;);</span></div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;            <span class="keywordflow">return</span> sl == <span class="charliteral">&#39;1&#39;</span>;</div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;        }</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;</div>
<div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a23585ff66c2e80f951d55fbcb8480594">  465</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a23585ff66c2e80f951d55fbcb8480594">Resolve</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> x, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> y)</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        {</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;            <span class="keywordflow">return</span> ResolutionMap[(int)(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>)x, (int)(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>)y];</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;        }</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;</div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;        <span class="keyword">public</span> <span class="keywordtype">bool</span> Is0</div>
<div class="line"><a name="l00474"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a756965cf5ae8a25ecbec7fda658c5350">  474</a></span>&#160;        {</div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;            {</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;                <span class="keywordflow">return</span> _value == EValues.Logic0 || _value == EValues.Weak0;</div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;            }</div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        }</div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;</div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;        <span class="keyword">public</span> <span class="keywordtype">bool</span> Is1</div>
<div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a2ca135fb2ace114fd8e485f2882b5760">  485</a></span>&#160;        {</div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;            {</div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;                <span class="keywordflow">return</span> _value == EValues.Logic1 || _value == EValues.Weak1;</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;            }</div>
<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;        }</div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;</div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> Weak</div>
<div class="line"><a name="l00501"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a4fff7d865b2704feb724feadff039b5d">  501</a></span>&#160;        {</div>
<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;            {</div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;                <span class="keywordflow">switch</span> (_value)</div>
<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;                {</div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;                    <span class="keywordflow">case</span> EValues.Logic0: <span class="keywordflow">return</span> L;</div>
<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;                    <span class="keywordflow">case</span> EValues.Logic1: <span class="keywordflow">return</span> H;</div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;                    <span class="keywordflow">default</span>: <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;                }</div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;            }</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;        }</div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;</div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;        <span class="keyword">public</span> <span class="keywordtype">int</span> SizeOfThis</div>
<div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ad4a7da79735e4a9ccab71308628a701c">  515</a></span>&#160;        {</div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;            {</div>
<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;                <span class="keywordflow">return</span> 1;</div>
<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;            }</div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;        }</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;</div>
<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_concat_rewriter.html">SLVConcatRewriter</a>]</div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a7e55b365bffd549bddb21269f742b50d">  528</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a7e55b365bffd549bddb21269f742b50d">Concat</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sl)</div>
<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;        {</div>
<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;            <span class="keywordflow">return</span> StdLogicVector.FromStdLogic(sl, <span class="keyword">this</span>);</div>
<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;        }</div>
<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;</div>
<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_concat_rewriter.html">SLVConcatRewriter</a>]</div>
<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00538"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a99a4113446fe6285f8e48623d8c6a778">  538</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a99a4113446fe6285f8e48623d8c6a778">Concat</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> slv)</div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;        {</div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;            <span class="keywordflow">return</span> StdLogicVector.FromStdLogic(<span class="keyword">this</span>).Concat(slv);</div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        }</div>
<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;</div>
<div class="line"><a name="l00546"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ace73b9c80f57dd4dea9d69a95adf6f8c">  546</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> operator !(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sl)</div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;        {</div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;            <span class="keywordflow">switch</span> ((<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">EValues</a>)sl)</div>
<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;            {</div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;                <span class="keywordflow">case</span> EValues.Uninitialized: <span class="keywordflow">return</span> X;</div>
<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;                <span class="keywordflow">case</span> EValues.Unknown: <span class="keywordflow">return</span> X;</div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;                <span class="keywordflow">case</span> EValues.Logic0: <span class="keywordflow">return</span> _1;</div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;                <span class="keywordflow">case</span> EValues.Logic1: <span class="keywordflow">return</span> _0;</div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;                <span class="keywordflow">case</span> EValues.Weak: <span class="keywordflow">return</span> X;</div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;                <span class="keywordflow">case</span> EValues.Weak0: <span class="keywordflow">return</span> _1;</div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;                <span class="keywordflow">case</span> EValues.Weak1: <span class="keywordflow">return</span> _0;</div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;                <span class="keywordflow">case</span> EValues.DontCare: <span class="keywordflow">return</span> X;</div>
<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;                <span class="keywordflow">default</span>: <span class="keywordflow">throw</span> <span class="keyword">new</span> NotImplementedException();</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;            }</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;        }</div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;</div>
<div class="line"><a name="l00568"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a0707b70cbadb9f0d126ce1815b9a3c91">  568</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> operator &amp;(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sa, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sb)</div>
<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;        {</div>
<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;            <span class="keywordtype">bool</span> _0a = sa.Is0;</div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;            <span class="keywordtype">bool</span> _1a = sa.Is1;</div>
<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;            <span class="keywordtype">bool</span> _0b = sb.Is0;</div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;            <span class="keywordtype">bool</span> _1b = sb.Is1;</div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;            <span class="keywordflow">if</span> (!(_0a || _1a) || !(_0b || _1b))</div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;                <span class="keywordflow">return</span> X;</div>
<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;            <span class="keywordflow">return</span> (_1a &amp;&amp; _1b) ? _1 : _0;</div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;        }</div>
<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;</div>
<div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a049a5f03dbc5b4b90174e0dc63feab80">  585</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> operator |(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sa, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sb)</div>
<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;        {</div>
<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;            <span class="keywordtype">bool</span> _0a = sa.Is0;</div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;            <span class="keywordtype">bool</span> _1a = sa.Is1;</div>
<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;            <span class="keywordtype">bool</span> _0b = sb.Is0;</div>
<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;            <span class="keywordtype">bool</span> _1b = sb.Is1;</div>
<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;            <span class="keywordflow">if</span> (!(_0a || _1a) || !(_0b || _1b))</div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;                <span class="keywordflow">return</span> X;</div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;            <span class="keywordflow">return</span> (_1a || _1b) ? _1 : _0;</div>
<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;        }</div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;</div>
<div class="line"><a name="l00602"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a970e0f980225061d74c1ee72f14b48cd">  602</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> operator ^(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sa, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sb)</div>
<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;        {</div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;            <span class="keywordtype">bool</span> _0a = sa.Is0;</div>
<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;            <span class="keywordtype">bool</span> _1a = sa.Is1;</div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;            <span class="keywordtype">bool</span> _0b = sb.Is0;</div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;            <span class="keywordtype">bool</span> _1b = sb.Is1;</div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;            <span class="keywordflow">if</span> (!(_0a || _1a) || !(_0b || _1b))</div>
<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;                <span class="keywordflow">return</span> X;</div>
<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;            <span class="keywordflow">return</span> (_1a ^ _1b) ? _1 : _0;</div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;        }</div>
<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;</div>
<div class="line"><a name="l00619"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ad55e3ea0ca01534c3744072cc198c244">  619</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ad55e3ea0ca01534c3744072cc198c244">Eq</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sa, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sb)</div>
<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;        {</div>
<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;            <span class="keywordtype">bool</span> _0a = sa.Is0;</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;            <span class="keywordtype">bool</span> _1a = sa.Is1;</div>
<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;            <span class="keywordtype">bool</span> _0b = sb.Is0;</div>
<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;            <span class="keywordtype">bool</span> _1b = sb.Is1;</div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;            <span class="keywordflow">if</span> (!(_0a || _1a) || !(_0b || _1b))</div>
<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;                <span class="keywordflow">return</span> X;</div>
<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;            <span class="keywordflow">return</span> (_1a == _1b) ? _1 : _0;</div>
<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;        }</div>
<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;</div>
<div class="line"><a name="l00636"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a53c841a03031e96d23f093877cbe4c01">  636</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> operator ==(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sa, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sb)</div>
<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;        {</div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;            <span class="keywordflow">return</span> sa.Equals(sb);</div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;        }</div>
<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;</div>
<div class="line"><a name="l00647"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ad84f796b2275d480ae7bda44058dab5e">  647</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> operator !=(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sa, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sb)</div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;        {</div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;            <span class="keywordflow">return</span> !sa.Equals(sb);</div>
<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;        }</div>
<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;    }</div>
<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;</div>
<div class="line"><a name="l00653"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_s_l_v_s_l_v.html">  653</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_data_types_1_1_s_l_v_s_l_v.html">SLVSLV</a> : <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_serializer.html">ISerializer</a></div>
<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;    {</div>
<div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_s_l_v_s_l_v.html#a520a607fc5da728cd6a862d7218a808b">  655</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="class_system_sharp_1_1_data_types_1_1_s_l_v_s_l_v.html#a520a607fc5da728cd6a862d7218a808b">Serialize</a>(<span class="keywordtype">object</span> value)</div>
<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;        {</div>
<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>)value;</div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;        }</div>
<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;</div>
<div class="line"><a name="l00660"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_s_l_v_s_l_v.html#aa453b125a628042772fc41a16041fa50">  660</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">object</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_s_l_v_s_l_v.html#aa453b125a628042772fc41a16041fa50">Deserialize</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> slv, <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> targetType)</div>
<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;        {</div>
<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;            <span class="keywordflow">return</span> slv;</div>
<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;        }</div>
<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;    }</div>
<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;</div>
<div class="line"><a name="l00666"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_bool_s_l_v.html">  666</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_data_types_1_1_bool_s_l_v.html">BoolSLV</a> : <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_serializer.html">ISerializer</a></div>
<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;    {</div>
<div class="line"><a name="l00668"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_bool_s_l_v.html#a1cc6c942232e834292b3411d4db603f6">  668</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="class_system_sharp_1_1_data_types_1_1_bool_s_l_v.html#a1cc6c942232e834292b3411d4db603f6">Serialize</a>(<span class="keywordtype">object</span> value)</div>
<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;        {</div>
<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>)((bool)value ? <span class="stringliteral">&quot;1&quot;</span> : <span class="stringliteral">&quot;0&quot;</span>);</div>
<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;        }</div>
<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;</div>
<div class="line"><a name="l00673"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_bool_s_l_v.html#aa47d0e0f326f6ba8f22ee7a4a2d95999">  673</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">object</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_bool_s_l_v.html#aa47d0e0f326f6ba8f22ee7a4a2d95999">Deserialize</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> slv, <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> targetType)</div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;        {</div>
<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;            <span class="keywordflow">return</span> (<span class="keywordtype">bool</span>)slv[0];</div>
<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;        }</div>
<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;    }</div>
<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;</div>
<div class="line"><a name="l00679"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_int_s_l_v.html">  679</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_data_types_1_1_int_s_l_v.html">IntSLV</a> : <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_serializer.html">ISerializer</a></div>
<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;    {</div>
<div class="line"><a name="l00681"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_int_s_l_v.html#a140658dc8cd915fe50aacb2c60258262">  681</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="class_system_sharp_1_1_data_types_1_1_int_s_l_v.html#a140658dc8cd915fe50aacb2c60258262">Serialize</a>(<span class="keywordtype">object</span> value)</div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;        {</div>
<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;            <span class="keywordflow">return</span> StdLogicVector.FromLong((int)value, 32);</div>
<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;        }</div>
<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;</div>
<div class="line"><a name="l00686"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_int_s_l_v.html#a71cc048b2d96bd5a3ad33ba84a2055ca">  686</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">object</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_int_s_l_v.html#a71cc048b2d96bd5a3ad33ba84a2055ca">Deserialize</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> slv, <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> targetType)</div>
<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;        {</div>
<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;            <span class="keywordflow">return</span> (<span class="keywordtype">int</span>)slv.LongValue;</div>
<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;        }</div>
<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;    }</div>
<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;</div>
<div class="line"><a name="l00692"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_long_s_l_v.html">  692</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_data_types_1_1_long_s_l_v.html">LongSLV</a> : <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_serializer.html">ISerializer</a></div>
<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;    {</div>
<div class="line"><a name="l00694"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_long_s_l_v.html#a3ae14016873b015bec0102abdf294fa7">  694</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="class_system_sharp_1_1_data_types_1_1_long_s_l_v.html#a3ae14016873b015bec0102abdf294fa7">Serialize</a>(<span class="keywordtype">object</span> value)</div>
<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;        {</div>
<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;            <span class="keywordflow">return</span> StdLogicVector.FromLong((long)value, 64);</div>
<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;        }</div>
<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;</div>
<div class="line"><a name="l00699"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_long_s_l_v.html#a226be973e4a78119fdd6927d2770657a">  699</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">object</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_long_s_l_v.html#a226be973e4a78119fdd6927d2770657a">Deserialize</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> slv, <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> targetType)</div>
<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;        {</div>
<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;            <span class="keywordflow">return</span> slv.LongValue;</div>
<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;        }</div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;    }</div>
<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;</div>
<div class="line"><a name="l00705"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_char_s_l_v.html">  705</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_data_types_1_1_char_s_l_v.html">CharSLV</a> : <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_serializer.html">ISerializer</a></div>
<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;    {</div>
<div class="line"><a name="l00707"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_char_s_l_v.html#a276924fcba14b27d54bbad9c36304a03">  707</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="class_system_sharp_1_1_data_types_1_1_char_s_l_v.html#a276924fcba14b27d54bbad9c36304a03">Serialize</a>(<span class="keywordtype">object</span> value)</div>
<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;        {</div>
<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;            <span class="keywordflow">return</span> StdLogicVector.FromLong((char)value, 16);</div>
<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;        }</div>
<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;</div>
<div class="line"><a name="l00712"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_char_s_l_v.html#ae82b2b17b1f08121dff1c246068696cd">  712</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">object</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_char_s_l_v.html#ae82b2b17b1f08121dff1c246068696cd">Deserialize</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> slv, <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> targetType)</div>
<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;        {</div>
<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;            <span class="keywordflow">return</span> (<span class="keywordtype">char</span>)slv.LongValue;</div>
<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;        }</div>
<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    }</div>
<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;</div>
<div class="line"><a name="l00718"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_string_s_l_v.html">  718</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_data_types_1_1_string_s_l_v.html">StringSLV</a> : <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_serializer.html">ISerializer</a></div>
<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;    {</div>
<div class="line"><a name="l00720"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_string_s_l_v.html#a0e68e084d36bf1f4778a340c87b7ffdf">  720</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="class_system_sharp_1_1_data_types_1_1_string_s_l_v.html#a0e68e084d36bf1f4778a340c87b7ffdf">Serialize</a>(<span class="keywordtype">object</span> value)</div>
<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;        {</div>
<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;            <span class="keywordtype">string</span> s = (string)value;</div>
<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> cur = StdLogicVector.Empty;</div>
<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;            <span class="keywordflow">foreach</span> (<span class="keywordtype">char</span> c <span class="keywordflow">in</span> s)</div>
<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;            {</div>
<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> cslv = StdLogicVector.FromLong(c, 16);</div>
<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;                cur = cslv.Concat(cur);</div>
<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;            }</div>
<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;            <span class="keywordflow">return</span> cur;</div>
<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;        }</div>
<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;</div>
<div class="line"><a name="l00732"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_string_s_l_v.html#a4251e1d90806f3d4488869870de99baa">  732</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">object</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_string_s_l_v.html#a4251e1d90806f3d4488869870de99baa">Deserialize</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> slv, <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> targetType)</div>
<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;        {</div>
<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;            <span class="keywordtype">string</span> s = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;            <span class="keywordtype">long</span> numChars = (slv.Size + 15) / 16;</div>
<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; numChars; i++)</div>
<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;            {</div>
<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;                <span class="keywordtype">char</span> c = (char)slv[16 * i + 15, 16 * i].LongValue;</div>
<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;                s = c + s;</div>
<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;            }</div>
<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;            <span class="keywordflow">return</span> s;</div>
<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;        }</div>
<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;    }</div>
<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;</div>
<div class="line"><a name="l00745"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_float_s_l_v.html">  745</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_data_types_1_1_float_s_l_v.html">FloatSLV</a> : <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_serializer.html">ISerializer</a></div>
<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;    {</div>
<div class="line"><a name="l00747"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_float_s_l_v.html#a697bae8de9e374ab1ac0c038ea13d41c">  747</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="class_system_sharp_1_1_data_types_1_1_float_s_l_v.html#a697bae8de9e374ab1ac0c038ea13d41c">Serialize</a>(<span class="keywordtype">object</span> value)</div>
<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;        {</div>
<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;            <span class="keywordflow">return</span> IEEE754Support.ToSLV((double)(<span class="keywordtype">float</span>)value, FloatFormat.SingleFormat);</div>
<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;        }</div>
<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;</div>
<div class="line"><a name="l00752"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_float_s_l_v.html#aeab63c5c7fde1cb7100fb406019f2a8e">  752</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">object</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_float_s_l_v.html#aeab63c5c7fde1cb7100fb406019f2a8e">Deserialize</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> slv, <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> targetType)</div>
<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;        {</div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;            <span class="keywordflow">return</span> IEEE754Support.ToFloat(slv, FloatFormat.SingleFormat);</div>
<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;        }</div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;    }</div>
<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;</div>
<div class="line"><a name="l00758"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_double_s_l_v.html">  758</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_data_types_1_1_double_s_l_v.html">DoubleSLV</a> : <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_serializer.html">ISerializer</a></div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;    {</div>
<div class="line"><a name="l00760"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_double_s_l_v.html#a3ef2661ee705f6220f8aba0a072277fe">  760</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="class_system_sharp_1_1_data_types_1_1_double_s_l_v.html#a3ef2661ee705f6220f8aba0a072277fe">Serialize</a>(<span class="keywordtype">object</span> value)</div>
<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;        {</div>
<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;            <span class="keywordflow">return</span> IEEE754Support.ToSLV((double)value, <a class="code" href="class_system_sharp_1_1_data_types_1_1_float_format.html">FloatFormat</a>.<a class="code" href="class_system_sharp_1_1_data_types_1_1_float_format.html#af72a42905b95a85f0ff0d8b696aec1e7">DoubleFormat</a>);</div>
<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;        }</div>
<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;</div>
<div class="line"><a name="l00765"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_double_s_l_v.html#a147dc7577bcd54fa385c69daa1ca5223">  765</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">object</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_double_s_l_v.html#a147dc7577bcd54fa385c69daa1ca5223">Deserialize</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> slv, <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> targetType)</div>
<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;        {</div>
<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;            <span class="keywordflow">return</span> IEEE754Support.ToFloat(slv, FloatFormat.DoubleFormat);</div>
<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;        }</div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;    }</div>
<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;</div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;    [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_intrinsic_type.html">MapToIntrinsicType</a>(<a class="code" href="namespace_system_sharp_1_1_meta.html#a6d63cf701a55bdbe2a3bb6df72b1c11d">EIntrinsicTypes</a>.StdLogicVector)]</div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;    [<a class="code" href="class_system_sharp_1_1_synthesis_1_1_s_l_v_serializable.html">SLVSerializable</a>(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>), typeof(<a class="code" href="class_system_sharp_1_1_data_types_1_1_s_l_v_s_l_v.html">SLVSLV</a>))]</div>
<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;    [<a class="code" href="class_system_sharp_1_1_synthesis_1_1_s_l_v_serializable.html">SLVSerializable</a>(typeof(<span class="keywordtype">bool</span>), typeof(<a class="code" href="class_system_sharp_1_1_data_types_1_1_bool_s_l_v.html">BoolSLV</a>))]</div>
<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;    [<a class="code" href="class_system_sharp_1_1_synthesis_1_1_s_l_v_serializable.html">SLVSerializable</a>(typeof(<span class="keywordtype">int</span>), typeof(<a class="code" href="class_system_sharp_1_1_data_types_1_1_int_s_l_v.html">IntSLV</a>))]</div>
<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;    [<a class="code" href="class_system_sharp_1_1_synthesis_1_1_s_l_v_serializable.html">SLVSerializable</a>(typeof(<span class="keywordtype">long</span>), typeof(<a class="code" href="class_system_sharp_1_1_data_types_1_1_long_s_l_v.html">LongSLV</a>))]</div>
<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;    [<a class="code" href="class_system_sharp_1_1_synthesis_1_1_s_l_v_serializable.html">SLVSerializable</a>(typeof(<span class="keywordtype">char</span>), typeof(<a class="code" href="class_system_sharp_1_1_data_types_1_1_char_s_l_v.html">CharSLV</a>))]</div>
<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;    [<a class="code" href="class_system_sharp_1_1_synthesis_1_1_s_l_v_serializable.html">SLVSerializable</a>(typeof(<span class="keywordtype">string</span>), typeof(<a class="code" href="class_system_sharp_1_1_data_types_1_1_string_s_l_v.html">StringSLV</a>))]</div>
<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;    [<a class="code" href="class_system_sharp_1_1_synthesis_1_1_s_l_v_serializable.html">SLVSerializable</a>(typeof(<span class="keywordtype">float</span>), typeof(<a class="code" href="class_system_sharp_1_1_data_types_1_1_float_s_l_v.html">FloatSLV</a>))]</div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;    [<a class="code" href="class_system_sharp_1_1_synthesis_1_1_s_l_v_serializable.html">SLVSerializable</a>(typeof(<span class="keywordtype">double</span>), typeof(<a class="code" href="class_system_sharp_1_1_data_types_1_1_double_s_l_v.html">DoubleSLV</a>))]</div>
<div class="line"><a name="l00783"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">  783</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">struct </span><a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> :</div>
<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;        IResolvable&lt;StdLogicVector&gt;,</div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;        IIndexable&lt;StdLogicVector, StdLogic&gt;,</div>
<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;        IConcatenable&lt;StdLogicVector, StdLogic&gt;,</div>
<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;        <a class="code" href="interface_system_sharp_1_1_data_types_1_1_i_size_of.html">ISizeOf</a></div>
<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;    {</div>
<div class="line"><a name="l00792"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ae02fed9a80f22ef6ec028c96a6eb2c04">  792</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> Empty = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>();</div>
<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;</div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;        <span class="keyword">private</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[] _value;</div>
<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;</div>
<div class="line"><a name="l00802"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ae11661ae396a4b60aafdea56d4afa382">  802</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ae11661ae396a4b60aafdea56d4afa382">AllSame</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> v, <span class="keywordtype">long</span> count)</div>
<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;        {</div>
<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[] result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[count];</div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">long</span> i = 0; i &lt; count; i++)</div>
<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;                result[i] = v;</div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;        }</div>
<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;</div>
<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_static_evaluation.html">StaticEvaluation</a>]</div>
<div class="line"><a name="l00816"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a1d929bb3052772e9c890159655b8508b">  816</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a1d929bb3052772e9c890159655b8508b">_0s</a>(<span class="keywordtype">long</span> count)</div>
<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;        {</div>
<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;            <span class="keywordflow">return</span> AllSame(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#abbec3123b2d1b5f7c9013cf3d65016c6">_0</a>, count);</div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;        }</div>
<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;</div>
<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_static_evaluation.html">StaticEvaluation</a>]</div>
<div class="line"><a name="l00827"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a973135fcd13cde839508b321c0eaa271">  827</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a973135fcd13cde839508b321c0eaa271">_1s</a>(<span class="keywordtype">long</span> count)</div>
<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;        {</div>
<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;            <span class="keywordflow">return</span> AllSame(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a1386536806979746228680b479e117e5">_1</a>, count);</div>
<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;        }</div>
<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;</div>
<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_static_evaluation.html">StaticEvaluation</a>]</div>
<div class="line"><a name="l00838"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a6f283d1e362d66f4f77e16e0c15ff592">  838</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a6f283d1e362d66f4f77e16e0c15ff592">Zs</a>(<span class="keywordtype">long</span> count)</div>
<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;        {</div>
<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;            <span class="keywordflow">return</span> AllSame(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a70c915d91efd028686c3611a3c0b2351">Z</a>, count);</div>
<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;        }</div>
<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;</div>
<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_static_evaluation.html">StaticEvaluation</a>]</div>
<div class="line"><a name="l00849"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a7b64c21170e0a4afcc7a5bd3f0ebc7ad">  849</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a7b64c21170e0a4afcc7a5bd3f0ebc7ad">Xs</a>(<span class="keywordtype">long</span> count)</div>
<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;        {</div>
<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;            <span class="keywordflow">return</span> AllSame(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ada2d6b163e1542fb13263921733425b0">X</a>, count);</div>
<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;        }</div>
<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;</div>
<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_static_evaluation.html">StaticEvaluation</a>]</div>
<div class="line"><a name="l00860"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a9172f70c06d08de75a701bede5e5e7e4">  860</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a9172f70c06d08de75a701bede5e5e7e4">Us</a>(<span class="keywordtype">long</span> count)</div>
<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;        {</div>
<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;            <span class="keywordflow">return</span> AllSame(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a60f3aa92b41b87ec3a4a01ba4ae65090">U</a>, count);</div>
<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;        }</div>
<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;</div>
<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_static_evaluation.html">StaticEvaluation</a>]</div>
<div class="line"><a name="l00871"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a485e31bf8a5e48cf0d010dd1e3fcceae">  871</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a485e31bf8a5e48cf0d010dd1e3fcceae">DCs</a>(<span class="keywordtype">long</span> count)</div>
<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;        {</div>
<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;            <span class="keywordflow">return</span> AllSame(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#add25ddf0ef60da1dbb758c712b89fc03">DC</a>, count);</div>
<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;        }</div>
<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;</div>
<div class="line"><a name="l00882"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a6eff2e6e75fe09e1e5e151e92fee7101">  882</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a6eff2e6e75fe09e1e5e151e92fee7101">OneHot</a>(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> pos)</div>
<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;        {</div>
<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> result = StdLogicVector._0s(count);</div>
<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;            result[pos] = <span class="charliteral">&#39;1&#39;</span>;</div>
<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;        }</div>
<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;</div>
<div class="line"><a name="l00895"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a7d4877a2f2af9caa132fc82be94772ed">  895</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a7d4877a2f2af9caa132fc82be94772ed">OneCold</a>(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> pos)</div>
<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;        {</div>
<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> result = StdLogicVector._1s(count);</div>
<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;            result[pos] = <span class="charliteral">&#39;0&#39;</span>;</div>
<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;        }</div>
<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;</div>
<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;        <span class="keyword">private</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[] content)</div>
<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;        {</div>
<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;            _value = content;</div>
<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;        }</div>
<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;</div>
<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;        <span class="keyword">private</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(<span class="keywordtype">int</span> size)</div>
<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;        {</div>
<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;            _value = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[size];</div>
<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;        }</div>
<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;</div>
<div class="line"><a name="l00917"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ab23e0b5467f5397096ad75dc6618df6c">  917</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ab23e0b5467f5397096ad75dc6618df6c">FromStdLogic</a>(params <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[] bits)</div>
<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;        {</div>
<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(bits);</div>
<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;        }</div>
<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;</div>
<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_type_conversion.html">TypeConversion</a>(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>), typeof(<span class="keywordtype">string</span>))]</div>
<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00924"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a1d26cb2f90dec7499f4a5f7b10c36ce7">  924</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">string</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a1d26cb2f90dec7499f4a5f7b10c36ce7">ToString</a>()</div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;        {</div>
<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;            StringBuilder sb = <span class="keyword">new</span> StringBuilder();</div>
<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;            <span class="keywordflow">if</span> (_value != null)</div>
<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;            {</div>
<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;                <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = _value.Length - 1; i &gt;= 0; i--)</div>
<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;                {</div>
<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;                    sb.Append((char)_value[i]);</div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;                }</div>
<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;            }</div>
<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;            <span class="keywordflow">return</span> sb.ToString();</div>
<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;        }</div>
<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;</div>
<div class="line"><a name="l00937"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a91429c5d6d6f09c68c804f4335f8e55a">  937</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">int</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a91429c5d6d6f09c68c804f4335f8e55a">GetHashCode</a>()</div>
<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;        {</div>
<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;            <span class="keywordtype">int</span> hash = 0;</div>
<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;            <span class="keywordflow">if</span> (_value != null)</div>
<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;            {</div>
<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;                <span class="keywordflow">foreach</span> (<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> v <span class="keywordflow">in</span> _value)</div>
<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;                {</div>
<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;                    hash ^= v.GetHashCode();</div>
<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;                    hash *= 11;</div>
<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;                }</div>
<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;            }</div>
<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;            <span class="keywordflow">return</span> hash;</div>
<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;        }</div>
<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;</div>
<div class="line"><a name="l00954"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ae699eca1782d336864a8f8314fa0d543">  954</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">bool</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ae699eca1782d336864a8f8314fa0d543">Equals</a>(<span class="keywordtype">object</span> obj)</div>
<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        {</div>
<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;            <span class="keywordflow">if</span> (obj is <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>)</div>
<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;            {</div>
<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;                StdLogicVector slv = (StdLogicVector)obj;</div>
<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;                <span class="keywordflow">if</span> (_value == null &amp;&amp; slv._value == null)</div>
<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;                <span class="keywordflow">if</span> (_value == null || slv._value == null)</div>
<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;                <span class="keywordflow">if</span> (_value.LongLength != slv._value.LongLength)</div>
<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;                <span class="keywordtype">int</span> size = _value.Length;</div>
<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;                <span class="keywordflow">for</span> (<span class="keywordtype">long</span> i = 0; i &lt; size; i++)</div>
<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;                {</div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;                    <span class="keywordflow">if</span> (_value[i] != slv._value[i])</div>
<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;                        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;                }</div>
<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;            }</div>
<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;            {</div>
<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;            }</div>
<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;        }</div>
<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;</div>
<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;        [<a class="code" href="class_system_sharp_1_1_meta_1_1_type_parameter.html">TypeParameter</a>(typeof(<a class="code" href="class_system_sharp_1_1_meta_1_1_int_to_zero_based_down_range_converter.html">IntToZeroBasedDownRangeConverter</a>))]</div>
<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;        <span class="keyword">public</span> <span class="keywordtype">int</span> <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a></div>
<div class="line"><a name="l00984"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">  984</a></span>&#160;        {</div>
<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_intrinsic_function.html">MapToIntrinsicFunction</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function.html">IntrinsicFunction</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function.html#a762cc72094d2dc70761af21448c23880">EAction</a>.PropertyRef, <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3">ESizedProperties</a>.Size)]</div>
<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;            {</div>
<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;                <span class="keywordflow">return</span> _value == null ? 0 : _value.Length;</div>
<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;            }</div>
<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;        }</div>
<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;</div>
<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;        <span class="keyword">private</span> <span class="keyword">class </span>IndexWriter : <a class="code" href="class_system_sharp_1_1_components_1_1_rewrite_call.html">RewriteCall</a></div>
<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;        {</div>
<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;            <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">bool</span> Rewrite(<a class="code" href="class_system_sharp_1_1_meta_1_1_code_descriptor.html">CodeDescriptor</a> decompilee, MethodBase callee, <a class="code" href="struct_system_sharp_1_1_analysis_1_1_stack_element.html">StackElement</a>[] args, <a class="code" href="interface_system_sharp_1_1_analysis_1_1_i_decompiler.html">IDecompiler</a> stack, <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html">IFunctionBuilder</a> builder)</div>
<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;            {</div>
<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_array_ref.html">ArrayRef</a> aref = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_array_ref.html">ArrayRef</a>(args[0].Expr, args[1].Expr.ResultType, args[1].<a class="code" href="struct_system_sharp_1_1_analysis_1_1_stack_element.html#a4777db0bee4622f506bbec26510d587b">Expr</a>);</div>
<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;                builder.Store(aref, args[2].Expr);</div>
<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;            }</div>
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;        }</div>
<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;</div>
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> <span class="keyword">this</span>[<span class="keywordtype">int</span> index]</div>
<div class="line"><a name="l01009"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#aa912ea0b2fee9bac17d9b8dd9581d04d"> 1009</a></span>&#160;        {</div>
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_intrinsic_function.html">MapToIntrinsicFunction</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function.html">IntrinsicFunction</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function.html#a762cc72094d2dc70761af21448c23880">EAction</a>.Index)]</div>
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;            {</div>
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;                <span class="keywordflow">if</span> (index &lt; 0 || index &gt;= <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>)</div>
<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Given index is out of range&quot;</span>);</div>
<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;</div>
<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;                <span class="keywordflow">return</span> _value[index];</div>
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;            }</div>
<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;            [IndexWriter]</div>
<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;            set</div>
<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;            {</div>
<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;                <span class="keywordflow">if</span> (index &lt; 0 || index &gt;= <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>)</div>
<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Given index is out of range&quot;</span>);</div>
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;</div>
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;                _value[index] = value;</div>
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;            }</div>
<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;        }</div>
<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;</div>
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;        <span class="keyword">private</span> <span class="keyword">class </span>NonIntIndexer : <a class="code" href="class_system_sharp_1_1_components_1_1_rewrite_call.html">RewriteCall</a></div>
<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;        {</div>
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;            <span class="keyword">public</span> Type SrcType { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;</div>
<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;            <span class="keyword">public</span> NonIntIndexer(Type srcType)</div>
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;            {</div>
<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;                SrcType = srcType;</div>
<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;            }</div>
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;</div>
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;            <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">bool</span> Rewrite(<a class="code" href="class_system_sharp_1_1_meta_1_1_code_descriptor.html">CodeDescriptor</a> decompilee, MethodBase callee, <a class="code" href="struct_system_sharp_1_1_analysis_1_1_stack_element.html">StackElement</a>[] args, <a class="code" href="interface_system_sharp_1_1_analysis_1_1_i_decompiler.html">IDecompiler</a> stack, <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html">IFunctionBuilder</a> builder)</div>
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;            {</div>
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;                var convidx = IntrinsicFunctions.Cast(args[1].Expr, SrcType, typeof(<span class="keywordtype">int</span>));</div>
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;                var result = IntrinsicFunctions.Index(args[0].Expr, convidx, typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>));</div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;                <span class="keywordtype">object</span>[] outArgs;</div>
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;                <span class="keywordtype">object</span> rsample;</div>
<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;                stack.TryGetReturnValueSample((MethodInfo)callee, args, out outArgs, out rsample);</div>
<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;                stack.Push(result, rsample);</div>
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;            }</div>
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;        }</div>
<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;</div>
<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;        <span class="keyword">private</span> <span class="keyword">class </span>SliceWriter : <a class="code" href="class_system_sharp_1_1_components_1_1_rewrite_call.html">RewriteCall</a></div>
<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;        {</div>
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;            <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">bool</span> Rewrite(<a class="code" href="class_system_sharp_1_1_meta_1_1_code_descriptor.html">CodeDescriptor</a> decompilee, MethodBase callee, <a class="code" href="struct_system_sharp_1_1_analysis_1_1_stack_element.html">StackElement</a>[] args, <a class="code" href="interface_system_sharp_1_1_analysis_1_1_i_decompiler.html">IDecompiler</a> stack, <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html">IFunctionBuilder</a> builder)</div>
<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;            {</div>
<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> slice = IntrinsicFunctions.MkDownRange(args[1].Expr, args[2].Expr);</div>
<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_array_ref.html">ArrayRef</a> aref = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_array_ref.html">ArrayRef</a>(args[0].Expr, args[2].Expr.ResultType, slice);</div>
<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;                builder.Store(aref, args[2].Expr);</div>
<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;            }</div>
<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;        }</div>
<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;</div>
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> <span class="keyword">this</span>[<a class="code" href="struct_system_sharp_1_1_data_types_1_1_unsigned.html">Unsigned</a> index]</div>
<div class="line"><a name="l01067"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a1264e4fd71c0fbec3c57bf98dd7844ac"> 1067</a></span>&#160;        {</div>
<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;            [NonIntIndexer(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_unsigned.html">Unsigned</a>))]</div>
<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;            {</div>
<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;                ulong uindex = index.ULongValue;</div>
<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;                <span class="keywordflow">if</span> (uindex &gt;= (ulong)<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>)</div>
<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Given index is out of range&quot;</span>);</div>
<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;</div>
<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;                <span class="keywordflow">return</span> _value[uindex];</div>
<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;            }</div>
<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;            [SliceWriter]</div>
<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;            <span class="keyword">internal</span> set</div>
<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;            {</div>
<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;                ulong uindex = index.ULongValue;</div>
<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;                <span class="keywordflow">if</span> (uindex &gt;= (ulong)<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>)</div>
<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Given index is out of range&quot;</span>);</div>
<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;</div>
<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;                _value[uindex] = value;</div>
<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;            }</div>
<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;        }</div>
<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;</div>
<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> <span class="keyword">this</span>[<a class="code" href="struct_system_sharp_1_1_data_types_1_1_signed.html">Signed</a> index]</div>
<div class="line"><a name="l01095"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ab7d2d688aacb2fe52567ebd7fb2a6673"> 1095</a></span>&#160;        {</div>
<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;            [NonIntIndexer(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_signed.html">Signed</a>))]</div>
<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;            {</div>
<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;                <span class="keywordtype">long</span> iindex = index.LongValue;</div>
<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;                <span class="keywordflow">if</span> (iindex &lt; 0 || iindex &gt;= <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>)</div>
<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Given index is out of range&quot;</span>);</div>
<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;</div>
<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;                <span class="keywordflow">return</span> _value[iindex];</div>
<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;            }</div>
<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;            [SliceWriter]</div>
<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;            <span class="keyword">internal</span> set</div>
<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;            {</div>
<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;                <span class="keywordtype">long</span> iindex = index.LongValue;</div>
<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;                <span class="keywordflow">if</span> (iindex &gt;= <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>)</div>
<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Given index is out of range&quot;</span>);</div>
<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;</div>
<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;                _value[iindex] = value;</div>
<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;            }</div>
<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;        }</div>
<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;</div>
<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <span class="keyword">this</span>[<span class="keywordtype">int</span> i0, <span class="keywordtype">int</span> i1]</div>
<div class="line"><a name="l01124"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#af2d216e2376da786e1274265892a66d4"> 1124</a></span>&#160;        {</div>
<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_slice.html">MapToSlice</a>]</div>
<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;            {</div>
<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;                <span class="keywordtype">int</span> size = <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>;</div>
<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;                <span class="keywordtype">int</span> subsize = i0 - i1 + 1;</div>
<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;                <span class="keywordflow">if</span> (i0 &gt;= size || i1 &lt; 0 || subsize &lt; 0)</div>
<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Specified indices are out of range&quot;</span>);</div>
<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[] result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[subsize];</div>
<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;                <span class="keywordflow">if</span> (subsize &gt; 0)</div>
<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;                    Array.Copy(_value, i1, result, 0, subsize);</div>
<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;                <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;            }</div>
<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;            [SliceWriter]</div>
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;            <span class="keyword">internal</span> set</div>
<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;            {</div>
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;                <span class="keywordtype">int</span> size = <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>;</div>
<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;                <span class="keywordtype">int</span> subsize = i0 - i1 + 1;</div>
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;                <span class="keywordflow">if</span> (i0 &gt;= size || i1 &lt; 0 || subsize &lt; 0)</div>
<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Specified indices are out of range&quot;</span>);</div>
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;                <span class="keywordflow">if</span> (subsize != value.Size)</div>
<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Vector dimensions do not match&quot;</span>);</div>
<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;</div>
<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;                <span class="keywordflow">if</span> (subsize &gt; 0)</div>
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;                    Array.Copy(value._value, 0, _value, i1, subsize);</div>
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;            }</div>
<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;        }</div>
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;</div>
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <span class="keyword">this</span>[<a class="code" href="struct_system_sharp_1_1_data_types_1_1_signed.html">Signed</a> i0, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_signed.html">Signed</a> i1]</div>
<div class="line"><a name="l01160"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ae51b74dd06abc8ef0ab07e21d6d0dba2"> 1160</a></span>&#160;        {</div>
<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_slice.html">MapToSlice</a>]</div>
<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;            {</div>
<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;                <span class="keywordtype">int</span> size = <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>;</div>
<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;                <span class="keywordtype">int</span> ii0 = (int)i0.LongValue;</div>
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;                <span class="keywordtype">int</span> ii1 = (<span class="keywordtype">int</span>)i1.LongValue;</div>
<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;                <span class="keywordtype">int</span> subsize = ii0 - ii1 + 1;</div>
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;                <span class="keywordflow">if</span> (ii0 &gt;= size || ii1 &lt; 0 || subsize &lt; 0)</div>
<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Specified indices are out of range&quot;</span>);</div>
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[] result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[subsize];</div>
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;                <span class="keywordflow">if</span> (subsize &gt; 0)</div>
<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;                    Array.Copy(_value, ii1, result, 0, subsize);</div>
<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;                <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;            }</div>
<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;            [SliceWriter]</div>
<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;            <span class="keyword">internal</span> set</div>
<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;            {</div>
<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;                <span class="keywordtype">int</span> size = <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>;</div>
<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;                <span class="keywordtype">int</span> ii0 = (int)i0.LongValue;</div>
<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;                <span class="keywordtype">int</span> ii1 = (<span class="keywordtype">int</span>)i1.LongValue;</div>
<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;                <span class="keywordtype">int</span> subsize = ii0 - ii1 + 1;</div>
<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;                <span class="keywordflow">if</span> (ii0 &gt;= size || ii1 &lt; 0 || subsize &lt; 0)</div>
<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Specified indices are out of range&quot;</span>);</div>
<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;                <span class="keywordflow">if</span> (subsize != value.Size)</div>
<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Vector dimensions do not match&quot;</span>);</div>
<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;</div>
<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;                <span class="keywordflow">if</span> (subsize &gt; 0)</div>
<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;                    Array.Copy(value._value, 0, _value, ii1, subsize);</div>
<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;            }</div>
<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;        }</div>
<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;</div>
<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <span class="keyword">this</span>[<a class="code" href="struct_system_sharp_1_1_data_types_1_1_unsigned.html">Unsigned</a> i0, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_unsigned.html">Unsigned</a> i1]</div>
<div class="line"><a name="l01200"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a95e9f6c2a1b2bae3acc38085fcae41e6"> 1200</a></span>&#160;        {</div>
<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_slice.html">MapToSlice</a>]</div>
<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;            {</div>
<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;                <span class="keywordtype">int</span> size = <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>;</div>
<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;                <span class="keywordtype">int</span> ii0 = (int)i0.ULongValue;</div>
<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;                <span class="keywordtype">int</span> ii1 = (<span class="keywordtype">int</span>)i1.ULongValue;</div>
<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;                <span class="keywordtype">int</span> subsize = ii0 - ii1 + 1;</div>
<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;                <span class="keywordflow">if</span> (ii0 &gt;= size || ii1 &lt; 0 || subsize &lt; 0)</div>
<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Specified indices are out of range&quot;</span>);</div>
<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[] result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[subsize];</div>
<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;                <span class="keywordflow">if</span> (subsize &gt; 0)</div>
<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160;                    Array.Copy(_value, ii1, result, 0, subsize);</div>
<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;                <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;            }</div>
<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;            [SliceWriter]</div>
<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;            <span class="keyword">internal</span> set</div>
<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;            {</div>
<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;                <span class="keywordtype">int</span> size = <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>;</div>
<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;                <span class="keywordtype">int</span> ii0 = (int)i0.ULongValue;</div>
<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;                <span class="keywordtype">int</span> ii1 = (<span class="keywordtype">int</span>)i1.ULongValue;</div>
<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;                <span class="keywordtype">int</span> subsize = ii0 - ii1 + 1;</div>
<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;                <span class="keywordflow">if</span> (ii0 &gt;= size || ii1 &lt; 0 || subsize &lt; 0)</div>
<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Specified indices are out of range&quot;</span>);</div>
<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;                <span class="keywordflow">if</span> (subsize != value.Size)</div>
<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Vector dimensions do not match&quot;</span>);</div>
<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;</div>
<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;                <span class="keywordflow">if</span> (subsize &gt; 0)</div>
<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;                    Array.Copy(value._value, 0, _value, ii1, subsize);</div>
<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;            }</div>
<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;        }</div>
<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;</div>
<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_concat_rewriter.html">SLVConcatRewriter</a>]</div>
<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01240"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#aaab107e973589721b946fc525c459118"> 1240</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#aaab107e973589721b946fc525c459118">Concat</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> sv)</div>
<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;        {</div>
<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[] result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> + sv.Size];</div>
<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;            <span class="keywordflow">if</span> (sv.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">Size</a> &gt; 0)</div>
<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;                Array.Copy(sv._value, 0, result, 0, sv.Size);</div>
<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;            <span class="keywordflow">if</span> (<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> &gt; 0)</div>
<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;                Array.Copy(_value, 0, result, sv.Size, <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>);</div>
<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;        }</div>
<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;</div>
<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_concat_rewriter.html">SLVConcatRewriter</a>]</div>
<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01257"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#af81d20a4fba737c40cef618347ae3cb1"> 1257</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#af81d20a4fba737c40cef618347ae3cb1">Concat</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> sl)</div>
<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;        {</div>
<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[] result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> + 1];</div>
<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;            result[0] = sl;</div>
<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;            <span class="keywordflow">if</span> (_value != null)</div>
<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;                Array.Copy(_value, 0, result, 1, <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>);</div>
<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;        }</div>
<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;</div>
<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;        <span class="keyword">public</span> <span class="keywordtype">int</span> SizeOfThis</div>
<div class="line"><a name="l01267"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a6160dda64a299d69df7d5095a8bf2223"> 1267</a></span>&#160;        {</div>
<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;            <span class="keyword">get</span> { <span class="keywordflow">return</span> <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>; }</div>
<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;        }</div>
<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;</div>
<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_type_conversion.html">TypeConversion</a>(typeof(<span class="keywordtype">string</span>), typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>))]</div>
<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01284"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ae904b0ced188dc3d764f25395a131e32"> 1284</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> implicit <span class="keyword">operator</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(<span class="keywordtype">string</span> value)</div>
<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;        {</div>
<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(value != null, <span class="stringliteral">&quot;value&quot;</span>);</div>
<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;</div>
<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;            <span class="keywordflow">if</span> (value.Length == 0)</div>
<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;                <span class="keywordflow">return</span> StdLogicVector.Empty;</div>
<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;</div>
<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[] result;</div>
<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;            <span class="keywordflow">if</span> (value[0] == <span class="charliteral">&#39;x&#39;</span>)</div>
<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;            {</div>
<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;                result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[4 * (value.Length - 1)];</div>
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;                <span class="keywordtype">int</span> k = 0;</div>
<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;                <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i &lt; value.Length; i++)</div>
<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;                {</div>
<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;                    <span class="keywordtype">int</span> digit;</div>
<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;                    <span class="keywordtype">char</span> v = value[value.Length - i - 1];</div>
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;                    <span class="keywordflow">if</span> (v &gt;= <span class="charliteral">&#39;0&#39;</span> &amp;&amp; v &lt;= <span class="charliteral">&#39;9&#39;</span>)</div>
<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;                        digit = (v - <span class="charliteral">&#39;0&#39;</span>);</div>
<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;                    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (v &gt;= <span class="charliteral">&#39;A&#39;</span> &amp;&amp; v &lt;= <span class="charliteral">&#39;F&#39;</span>)</div>
<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;                        digit = (v - <span class="charliteral">&#39;A&#39;</span> + 10);</div>
<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;                    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (v &gt;= <span class="charliteral">&#39;a&#39;</span> &amp;&amp; v &lt;= <span class="charliteral">&#39;f&#39;</span>)</div>
<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;                        digit = (v - <span class="charliteral">&#39;a&#39;</span> + 10);</div>
<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;                    <span class="keywordflow">else</span></div>
<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;                        <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Illegal hex number&quot;</span>);</div>
<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;                    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; 4; j++)</div>
<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;                    {</div>
<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;                        <span class="keywordflow">if</span> ((digit &amp; 1) == 1)</div>
<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;                            result[k] = StdLogic._1;</div>
<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;                        <span class="keywordflow">else</span></div>
<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;                            result[k] = StdLogic._0;</div>
<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;                        digit &gt;&gt;= 1;</div>
<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;                        ++k;</div>
<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;                    }</div>
<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;                }</div>
<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;            }</div>
<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;            {</div>
<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;                <span class="comment">// Try to convert each character, ToEnum will throw an argument</span></div>
<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;                <span class="comment">// exception if there is an illegal one.</span></div>
<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;                result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[value.Length];</div>
<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;                <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; value.Length; i++)</div>
<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;                {</div>
<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;                    result[i] = value[value.Length - i - 1];</div>
<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;                }</div>
<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;            }</div>
<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;        }</div>
<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;</div>
<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_type_conversion.html">TypeConversion</a>(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[]), typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>))]</div>
<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01340"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a56549eb91e954dce340f505b8771b439"> 1340</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> implicit <span class="keyword">operator</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[] vs)</div>
<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;        {</div>
<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(vs != null, <span class="stringliteral">&quot;vs&quot;</span>);</div>
<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(vs);</div>
<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;        }</div>
<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;</div>
<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01352"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a3d890ec61751a42666b3c2bfc56be543"> 1352</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> operator !(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> a)</div>
<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;        {</div>
<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(a.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">Size</a>);</div>
<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; a.Size; i++)</div>
<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;                result[i] = !a[i];</div>
<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;        }</div>
<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;</div>
<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01366"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#af829042d8c590a45c1a5a8f62660fd42"> 1366</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> operator ~(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> a)</div>
<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;        {</div>
<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(a.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">Size</a>);</div>
<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; a.Size; i++)</div>
<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;                result[i] = !a[i];</div>
<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160;        }</div>
<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160;</div>
<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01381"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a953afc485f06acbdcc7ebf8213122240"> 1381</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> operator +(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> a, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> b)</div>
<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;        {</div>
<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;            <span class="keywordtype">int</span> size = Math.Max(a.Size, b.Size);</div>
<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;            <span class="keywordtype">int</span> rsize = size;</div>
<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> carry = StdLogic._0;</div>
<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(rsize);</div>
<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; rsize; i++)</div>
<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;            {</div>
<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> ai = (i &lt; a.Size) ? a[i] : <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#abbec3123b2d1b5f7c9013cf3d65016c6">_0</a>;</div>
<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> bi = (i &lt; b.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">Size</a>) ? b[i] : StdLogic._0;</div>
<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> tmp = ai ^ bi;</div>
<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;                result[i] = (carry ^ tmp);</div>
<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;                carry = (tmp &amp; carry) | (ai &amp; bi);</div>
<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;            }</div>
<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;        }</div>
<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;</div>
<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01405"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a97368b35eed2561bbb6036f1f16be0f4"> 1405</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> operator -(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> a, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> b)</div>
<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;        {</div>
<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;            <span class="keywordtype">int</span> size = Math.Max(a.Size, b.Size);</div>
<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;            <span class="keywordtype">int</span> rsize = size;</div>
<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> borrow = StdLogic._0;</div>
<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(rsize);</div>
<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; rsize; i++)</div>
<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;            {</div>
<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> ai = (i &lt; a.Size) ? a[i] : <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#abbec3123b2d1b5f7c9013cf3d65016c6">_0</a>;</div>
<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> bi = (i &lt; b.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">Size</a>) ? b[i] : StdLogic._0;</div>
<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> tmp = ai ^ bi;</div>
<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;                result[i] = (borrow ^ tmp);</div>
<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;                borrow = (!tmp &amp; borrow) | (!ai &amp; bi);</div>
<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;            }</div>
<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160;        }</div>
<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;</div>
<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01429"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a1ea854f808c27847370de0421883e9d7"> 1429</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> operator &amp;(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> a, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> b)</div>
<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;        {</div>
<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;            <span class="keywordflow">if</span> (a.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">Size</a> != b.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">Size</a>)</div>
<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160;                <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Vectors of different sizes&quot;</span>);</div>
<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;</div>
<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;            <span class="keywordtype">int</span> size = a.Size;</div>
<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(size);</div>
<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; size; i++)</div>
<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;            {</div>
<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> ai = a[i];</div>
<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> bi = b[i];</div>
<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;                result[i] = (ai &amp; bi);</div>
<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;            }</div>
<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;        }</div>
<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;</div>
<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01452"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a842263ad7f097758dfd0c1e9b2674235"> 1452</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> operator |(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> a, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> b)</div>
<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;        {</div>
<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;            <span class="keywordflow">if</span> (a.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">Size</a> != b.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">Size</a>)</div>
<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;                <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Vectors of different sizes&quot;</span>);</div>
<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;</div>
<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;            <span class="keywordtype">int</span> size = a.Size;</div>
<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(size);</div>
<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; size; i++)</div>
<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;            {</div>
<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> ai = a[i];</div>
<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> bi = b[i];</div>
<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;                result[i] = (ai | bi);</div>
<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;            }</div>
<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;        }</div>
<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;</div>
<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01475"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ab44f5aa3c91dfde2cd44c5d36643805f"> 1475</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> operator ^(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> a, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> b)</div>
<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;        {</div>
<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;            <span class="keywordflow">if</span> (a.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">Size</a> != b.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">Size</a>)</div>
<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;                <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Vectors of different sizes&quot;</span>);</div>
<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160;</div>
<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;            <span class="keywordtype">int</span> size = a.Size;</div>
<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(size);</div>
<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; size; i++)</div>
<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;            {</div>
<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> ai = a[i];</div>
<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> bi = b[i];</div>
<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;                result[i] = (ai ^ bi);</div>
<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;            }</div>
<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;        }</div>
<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;</div>
<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01495"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a01329c77f05d2170f8aba1bd557b1558"> 1495</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> operator ==(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> a, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> b)</div>
<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160;        {</div>
<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;            <span class="keywordflow">return</span> a.Equals(b);</div>
<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160;        }</div>
<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;</div>
<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01504"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a54b66ac1a714ad5b69c912d81d45977f"> 1504</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> operator !=(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> a, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> b)</div>
<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;        {</div>
<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;            <span class="keywordflow">return</span> !a.Equals(b);</div>
<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;        }</div>
<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160;</div>
<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01516"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#aeb925c6401bf3def6a8065c387c97f2e"> 1516</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#aeb925c6401bf3def6a8065c387c97f2e">Resolve</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> x, <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> y)</div>
<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;        {</div>
<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;            <span class="keywordflow">if</span> (x.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">Size</a> != y.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">Size</a>)</div>
<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;                <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Vector sizes not the same&quot;</span>);</div>
<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;</div>
<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;            <span class="keywordtype">int</span> size = x.Size;</div>
<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>(size);</div>
<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; size; i++)</div>
<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;            {</div>
<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> ai = x[i];</div>
<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> bi = y[i];</div>
<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;                result[i] = ai.Resolve(ai, bi);</div>
<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160;            }</div>
<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;        }</div>
<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;</div>
<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;        <span class="keyword">public</span> <span class="keywordtype">bool</span> IsProper</div>
<div class="line"><a name="l01536"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a16c55b56cec841010ec8798281245959"> 1536</a></span>&#160;        {</div>
<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;            {</div>
<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;                <span class="keywordflow">if</span> (_value == null)</div>
<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;                <span class="keywordflow">foreach</span> (<span class="keywordtype">char</span> c <span class="keywordflow">in</span> _value)</div>
<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160;                {</div>
<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160;                    <span class="keywordflow">if</span> (c != <span class="charliteral">&#39;0&#39;</span> &amp;&amp; c != <span class="charliteral">&#39;1&#39;</span>)</div>
<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;                        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;                }</div>
<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;            }</div>
<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;        }</div>
<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;</div>
<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;        <span class="keyword">public</span> <span class="keywordtype">int</span> IntValue</div>
<div class="line"><a name="l01558"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ade3d6b07569ea84957932cb770e955a8"> 1558</a></span>&#160;        {</div>
<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_type_conversion.html">TypeConversion</a>(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>), typeof(<span class="keywordtype">int</span>))]</div>
<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160;            {</div>
<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;                <span class="keywordflow">if</span> (<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> &gt; 32)</div>
<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> InvalidOperationException(<span class="stringliteral">&quot;Vector too long&quot;</span>);</div>
<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160;                <span class="keywordflow">if</span> (_value == null)</div>
<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;                    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160;</div>
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;                <span class="keywordtype">int</span> curv = 0;</div>
<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160;                <span class="keywordtype">int</span> mask = 1;</div>
<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;                <span class="keywordflow">foreach</span> (<span class="keywordtype">char</span> c <span class="keywordflow">in</span> _value)</div>
<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160;                {</div>
<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;                    <span class="keywordflow">if</span> (c == <span class="charliteral">&#39;1&#39;</span>)</div>
<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;                        curv |= mask;</div>
<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160;                    mask &lt;&lt;= 1;</div>
<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160;                }</div>
<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;                <span class="comment">// This shift operation introduces the correct sign</span></div>
<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;                <span class="keywordtype">int</span> shift = (32 - (int)<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>);</div>
<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;                curv &lt;&lt;= shift;</div>
<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160;                curv &gt;&gt;= shift;</div>
<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160;                <span class="keywordflow">return</span> curv;</div>
<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;            }</div>
<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;        }</div>
<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;</div>
<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160;        <span class="keyword">public</span> <span class="keywordtype">long</span> LongValue</div>
<div class="line"><a name="l01591"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a4718bcda6fc22e3122cf59a678060416"> 1591</a></span>&#160;        {</div>
<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_type_conversion.html">TypeConversion</a>(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>), typeof(<span class="keywordtype">long</span>))]</div>
<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160;            {</div>
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160;                <span class="keywordflow">if</span> (<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> &gt; 64)</div>
<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> InvalidOperationException(<span class="stringliteral">&quot;Vector too long&quot;</span>);</div>
<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160;                <span class="keywordflow">if</span> (_value == null)</div>
<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160;                    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160;</div>
<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160;                <span class="keywordtype">long</span> curv = 0;</div>
<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;                <span class="keywordtype">long</span> mask = 1;</div>
<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160;                <span class="keywordflow">foreach</span> (<span class="keywordtype">char</span> c <span class="keywordflow">in</span> _value)</div>
<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160;                {</div>
<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160;                    <span class="keywordflow">if</span> (c == <span class="charliteral">&#39;1&#39;</span>)</div>
<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160;                        curv |= mask;</div>
<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160;                    mask &lt;&lt;= 1;</div>
<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;                }</div>
<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160;                <span class="comment">// This shift operation introduces the correct sign</span></div>
<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160;                <span class="keywordtype">int</span> shift = (64 - (int)<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>);</div>
<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160;                curv &lt;&lt;= shift;</div>
<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160;                curv &gt;&gt;= shift;</div>
<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160;                <span class="keywordflow">return</span> curv;</div>
<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160;            }</div>
<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160;        }</div>
<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160;</div>
<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;        <span class="keyword">public</span> ulong ULongValue</div>
<div class="line"><a name="l01624"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a46ff56820cd75d4aa7d0b528c5030382"> 1624</a></span>&#160;        {</div>
<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_type_conversion.html">TypeConversion</a>(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>), typeof(ulong))]</div>
<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160;            {</div>
<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;                <span class="keywordflow">if</span> (<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> &gt; 64)</div>
<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> InvalidOperationException(<span class="stringliteral">&quot;Vector too long&quot;</span>);</div>
<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160;                <span class="keywordflow">if</span> (_value == null)</div>
<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160;                    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;</div>
<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160;                ulong curv = 0;</div>
<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;                ulong mask = 1;</div>
<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;                <span class="keywordflow">foreach</span> (<span class="keywordtype">char</span> c <span class="keywordflow">in</span> _value)</div>
<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;                {</div>
<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;                    <span class="keywordflow">if</span> (c == <span class="charliteral">&#39;1&#39;</span>)</div>
<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160;                        curv |= mask;</div>
<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;                    mask &lt;&lt;= 1;</div>
<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160;                }</div>
<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;                <span class="keywordflow">return</span> curv;</div>
<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160;            }</div>
<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160;        }</div>
<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160;</div>
<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;        <span class="keyword">internal</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> ProperValue</div>
<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;        {</div>
<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;            {</div>
<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;                <span class="keywordflow">if</span> (_value == null)</div>
<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160;                    <span class="keywordflow">return</span> Empty;</div>
<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[] result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>[_value.Length];</div>
<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160;                <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; _value.Length; i++)</div>
<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160;                {</div>
<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160;                    result[i] = _value[i].Is1 ? StdLogic._1 : StdLogic._0;</div>
<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160;                }</div>
<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160;                <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160;            }</div>
<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160;        }</div>
<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160;</div>
<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_unsigned.html">Unsigned</a> UnsignedValue</div>
<div class="line"><a name="l01666"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a6182de5365667f5f8ccf629984335a18"> 1666</a></span>&#160;        {</div>
<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_type_conversion.html">TypeConversion</a>(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>), typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_unsigned.html">Unsigned</a>))]</div>
<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160;            {</div>
<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160;                <span class="keywordflow">if</span> (<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> &gt; <span class="keywordtype">int</span>.MaxValue)</div>
<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> InvalidOperationException();</div>
<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160;</div>
<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160;                <span class="keywordflow">if</span> (<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> == 0)</div>
<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160;                    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;</div>
<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160;<span class="preprocessor">#if USE_INTX</span></div>
<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160;<span class="preprocessor"></span>                IntX value = IntX.Parse(ProperValue.ToString(), 2);</div>
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160;                <span class="keywordflow">return</span> Unsigned.FromIntX(value, (int)<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>);</div>
<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160;<span class="preprocessor"></span>                var value = BigInteger.Zero;</div>
<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160;                var msb = BigInteger.One;</div>
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;                <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>; i++)</div>
<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160;                {</div>
<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160;                    <span class="keywordflow">if</span> (<span class="keyword">this</span>[i].Is1)</div>
<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160;                        value |= msb;</div>
<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;                    msb &lt;&lt;= 1;</div>
<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;                }</div>
<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160;                <span class="keywordflow">return</span> Unsigned.FromBigInt(value, (int)Size);</div>
<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160;<span class="preprocessor"></span>            }</div>
<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160;        }</div>
<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160;</div>
<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_signed.html">Signed</a> SignedValue</div>
<div class="line"><a name="l01699"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ad015fa00719c6f0212fb16baf9317f95"> 1699</a></span>&#160;        {</div>
<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_type_conversion.html">TypeConversion</a>(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>), typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_signed.html">Signed</a>))]</div>
<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160;            {</div>
<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160;                <span class="keywordflow">if</span> (<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> &gt; <span class="keywordtype">int</span>.MaxValue)</div>
<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> InvalidOperationException();</div>
<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160;</div>
<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160;                <span class="keywordflow">if</span> (<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> == 0)</div>
<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160;                    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160;</div>
<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160;<span class="preprocessor">#if USE_INTX</span></div>
<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160;<span class="preprocessor"></span>                IntX value;</div>
<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;                <span class="keywordflow">if</span> (<span class="keyword">this</span>[<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> - 1].Equals(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a1386536806979746228680b479e117e5">_1</a>))</div>
<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;                {</div>
<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;                    <span class="comment">// negative</span></div>
<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160;                    <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> abs = !ProperValue + <span class="stringliteral">&quot;1&quot;</span>;</div>
<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;                    value = IntX.Parse(<span class="stringliteral">&quot;-&quot;</span> + abs.ToString(), 2);</div>
<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160;                }</div>
<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160;                <span class="keywordflow">else</span></div>
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160;                {</div>
<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160;                    value = IntX.Parse(ProperValue.ToString(), 2);</div>
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160;                }</div>
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160;                <span class="keywordflow">return</span> Signed.FromIntX(value, (int)<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>);</div>
<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160;<span class="preprocessor"></span>                var digits = <span class="keyword">new</span> byte[(<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> + 7) / 8];</div>
<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;                byte bi = 1;</div>
<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160;                <span class="keywordtype">int</span> by = 0;</div>
<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;                <span class="keywordtype">bool</span> last = <span class="keyword">false</span>;</div>
<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160;                <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>; i++)</div>
<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160;                {</div>
<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160;                    last = <span class="keyword">this</span>[i].Is1;</div>
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160;                    <span class="keywordflow">if</span> (last)</div>
<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160;                        digits[by] |= bi;</div>
<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160;                    bi &lt;&lt;= 1;</div>
<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160;                    <span class="keywordflow">if</span> (bi == 0)</div>
<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;                    {</div>
<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160;                        bi = 1;</div>
<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160;                        ++by;</div>
<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160;                    }</div>
<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160;                }</div>
<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160;                <span class="keywordflow">if</span> (last &amp;&amp; bi != 1)</div>
<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160;                {</div>
<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160;                    <span class="keywordflow">while</span> (bi != 0)</div>
<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160;                    {</div>
<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160;                        digits[by] |= bi;</div>
<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160;                        bi &lt;&lt;= 1;</div>
<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160;                    }</div>
<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160;                }</div>
<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160;                var v = <span class="keyword">new</span> BigInteger(digits);</div>
<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160;                <span class="keywordflow">return</span> Signed.FromBigInt(v, (int)Size);</div>
<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160;<span class="preprocessor"></span>            }</div>
<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160;        }</div>
<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;</div>
<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160;        <span class="keyword">public</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> Weak</div>
<div class="line"><a name="l01759"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a5ad300a13a4fef602cc966bd3c34d7d7"> 1759</a></span>&#160;        {</div>
<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160;            {</div>
<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160;                <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> result = <span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>();</div>
<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;                <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>; i++)</div>
<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160;                {</div>
<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160;                    result[i] = _value[i].Weak;</div>
<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160;                }</div>
<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160;                <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160;            }</div>
<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160;        }</div>
<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160;</div>
<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160;        <span class="keyword">private</span> <span class="keyword">class </span>FromXRewriter : <a class="code" href="class_system_sharp_1_1_components_1_1_rewrite_call.html">RewriteCall</a></div>
<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160;        {</div>
<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160;            Type _srcType;</div>
<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160;</div>
<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160;            <span class="keyword">public</span> FromXRewriter(Type srcType)</div>
<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160;            {</div>
<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160;                _srcType = srcType;</div>
<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160;            }</div>
<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160;</div>
<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160;            <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">bool</span> Rewrite(<a class="code" href="class_system_sharp_1_1_meta_1_1_code_descriptor.html">CodeDescriptor</a> decompilee, MethodBase callee, <a class="code" href="struct_system_sharp_1_1_analysis_1_1_stack_element.html">StackElement</a>[] args, <a class="code" href="interface_system_sharp_1_1_analysis_1_1_i_decompiler.html">IDecompiler</a> stack, <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html">IFunctionBuilder</a> builder)</div>
<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160;            {</div>
<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a>[] eargs = args.Select(arg =&gt; arg.Expr).ToArray();</div>
<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160;                <span class="keywordtype">object</span>[] vargs = args.Select(arg =&gt; arg.Sample).ToArray();</div>
<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;</div>
<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160;                <span class="keywordtype">object</span> sample = null;</div>
<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160;                <span class="keywordflow">try</span></div>
<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160;                {</div>
<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160;                    sample = callee.Invoke(vargs);</div>
<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160;                }</div>
<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160;                <span class="keywordflow">catch</span> (Exception)</div>
<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160;                {</div>
<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;                }</div>
<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160;                <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> type;</div>
<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160;                <span class="keywordflow">if</span> (sample != null)</div>
<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160;                    type = TypeDescriptor.GetTypeOf(sample);</div>
<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;                <span class="keywordflow">else</span></div>
<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;                    type = typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>);</div>
<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160;</div>
<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_call.html">FunctionCall</a> fcall = IntrinsicFunctions.Cast(eargs, _srcType, type);</div>
<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160;</div>
<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160;                stack.Push(fcall, sample);</div>
<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160;            }</div>
<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160;        }</div>
<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160;</div>
<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160;        [FromXRewriter(typeof(<span class="keywordtype">long</span>))]</div>
<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01815"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ab2cdf4140e28b36845f79bf7035d7ee9"> 1815</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ab2cdf4140e28b36845f79bf7035d7ee9">FromLong</a>(<span class="keywordtype">long</span> value, <span class="keywordtype">int</span> size)</div>
<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160;        {</div>
<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160;            <span class="keywordflow">return</span> Signed.FromLong(value, size).SLVValue;</div>
<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160;        }</div>
<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160;</div>
<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160;        [FromXRewriter(typeof(<span class="keywordtype">int</span>))]</div>
<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01828"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a72c65e2ff4deb0f6fba45038a171509b"> 1828</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a72c65e2ff4deb0f6fba45038a171509b">FromInt</a>(<span class="keywordtype">int</span> value, <span class="keywordtype">int</span> size)</div>
<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160;        {</div>
<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;            <span class="keywordflow">return</span> Signed.FromInt(value, size).SLVValue;</div>
<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160;        }</div>
<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160;</div>
<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160;        [FromXRewriter(typeof(ulong))]</div>
<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01841"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a492e9c2c79ab44c83f55d48c2cc96bc7"> 1841</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a492e9c2c79ab44c83f55d48c2cc96bc7">FromULong</a>(ulong value, <span class="keywordtype">int</span> size)</div>
<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160;        {</div>
<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160;            <span class="keywordflow">return</span> Unsigned.FromULong(value, size).SLVValue;</div>
<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160;        }</div>
<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160;</div>
<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160;        [FromXRewriter(typeof(uint))]</div>
<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l01854"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a4591d860a90325744dc0ff05841217aa"> 1854</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a4591d860a90325744dc0ff05841217aa">FromUInt</a>(uint value, <span class="keywordtype">int</span> size)</div>
<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160;        {</div>
<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160;            <span class="keywordflow">return</span> Unsigned.FromUInt(value, size).SLVValue;</div>
<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160;        }</div>
<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160;</div>
<div class="line"><a name="l01864"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a3975e01d53a93b54df4943e3f38a6ecd"> 1864</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a3975e01d53a93b54df4943e3f38a6ecd">Serialize</a>(<span class="keywordtype">object</span> value)</div>
<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;        {</div>
<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(value != null, <span class="stringliteral">&quot;value&quot;</span>);</div>
<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160;</div>
<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160;            Type srcType = value.GetType();</div>
<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160;            <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_serializer.html">ISerializer</a> ser = SLVSerializable.TryGetSerializer(srcType);</div>
<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160;            <span class="keywordflow">if</span> (ser == null)</div>
<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160;                <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Serialization not supported for type &quot;</span> + srcType);</div>
<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160;            <span class="keywordflow">return</span> ser.Serialize(value);</div>
<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160;        }</div>
<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160;</div>
<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160;        <span class="keyword">private</span> <span class="keyword">class </span>DeserializeRewriter : <a class="code" href="class_system_sharp_1_1_components_1_1_rewrite_call.html">RewriteCall</a></div>
<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160;        {</div>
<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160;            <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">bool</span> Rewrite(<a class="code" href="class_system_sharp_1_1_meta_1_1_code_descriptor.html">CodeDescriptor</a> decompilee, MethodBase callee, <a class="code" href="struct_system_sharp_1_1_analysis_1_1_stack_element.html">StackElement</a>[] args, <a class="code" href="interface_system_sharp_1_1_analysis_1_1_i_decompiler.html">IDecompiler</a> stack, <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html">IFunctionBuilder</a> builder)</div>
<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160;            {</div>
<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160;                var tgtType = (<a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a>)args[1].Sample;</div>
<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160;                stack.Push(</div>
<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160;                    IntrinsicFunctions.Cast(args[0].Expr, args[0].Expr.ResultType.CILType, tgtType),</div>
<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160;                    Deserialize((<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>)args[0].Sample, tgtType));</div>
<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160;                return true;</div>
<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160;            }</div>
<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160;        }</div>
<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160;</div>
<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160;        [DeserializeRewriter]</div>
<div class="line"><a name="l01896"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a58afc8e3ce99b75104520b03af2270a9"> 1896</a></span>&#160;        public static <span class="keywordtype">object</span> Deserialize(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> slv, <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> tgtType)</div>
<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160;        {</div>
<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(tgtType != null, <span class="stringliteral">&quot;tgtType&quot;</span>);</div>
<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160;</div>
<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160;            <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_serializer.html">ISerializer</a> ser = SLVSerializable.TryGetSerializer(tgtType.CILType);</div>
<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160;            <span class="keywordflow">if</span> (ser == null)</div>
<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160;                <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Serialization not supported for type &quot;</span> + tgtType);</div>
<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;            <span class="keywordflow">return</span> ser.Deserialize(slv, tgtType);</div>
<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160;        }</div>
<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160;</div>
<div class="line"><a name="l01912"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a7971894634d20a7cb7bd2adaa1651a9b"> 1912</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a7971894634d20a7cb7bd2adaa1651a9b">MakeType</a>(<span class="keywordtype">long</span> slvlength)</div>
<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;        {</div>
<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;            Contract.Requires&lt;ArgumentOutOfRangeException&gt;(slvlength &gt;= 0, <span class="stringliteral">&quot;slvlength must be nonnegative.&quot;</span>);</div>
<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160;            <span class="keywordflow">return</span> TypeDescriptor.GetTypeOf(_0s(slvlength));</div>
<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160;        }</div>
<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160;</div>
<div class="line"><a name="l01924"></a><span class="lineno"><a class="line" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a6be9a3f726a9f003647cc7a8c77a0af4"> 1924</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a6be9a3f726a9f003647cc7a8c77a0af4">GetLength</a>(<a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> type)</div>
<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160;        {</div>
<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(type != null, <span class="stringliteral">&quot;type&quot;</span>);</div>
<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;            Contract.Requires&lt;ArgumentException&gt;(type.CILType.Equals(typeof(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>)), <span class="stringliteral">&quot;type does not describe StdLogicVector.&quot;</span>);</div>
<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;            Contract.Requires&lt;ArgumentException&gt;(type.IsComplete, <span class="stringliteral">&quot;type is not complete.&quot;</span>);</div>
<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160;</div>
<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160;            <span class="keywordflow">return</span> (<span class="keywordtype">int</span>)type.TypeParams[0];</div>
<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160;        }</div>
<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160;    }</div>
<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160;</div>
<div class="line"><a name="l01939"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html"> 1939</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span>SizedResolvedSignal&lt;TA, TE&gt; :</div>
<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160;        ResolvedSignal&lt;TA&gt;, IIndexable&lt;InOut&lt;TA&gt;, InOut&lt;TE&gt;&gt;</div>
<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160;        where TA : IResolvable&lt;TA&gt;, IIndexable&lt;TA, TE&gt;, IConcatenable&lt;TA, TE&gt;</div>
<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160;    {</div>
<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;        <span class="keyword">private</span> <span class="keyword">class </span>SliceAccessProxy :</div>
<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160;            <a class="code" href="namespace_system_sharp_1_1_components.html#a1b363c1bde8fdda4245b1c5c616e328ea47a54d9da8952a3980d27488b00a21c1">InOut</a>&lt;TA&gt;,</div>
<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160;            <a class="code" href="interface_system_sharp_1_1_components_1_1_i_signal.html">ISignal</a></div>
<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160;        {</div>
<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;            <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html">SizedResolvedSignal&lt;TA, TE&gt;</a> _signal;</div>
<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;            <span class="keyword">private</span> <span class="keywordtype">int</span> _from;</div>
<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160;            <span class="keyword">private</span> <span class="keywordtype">int</span> _to;</div>
<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160;</div>
<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160;            <span class="keyword">public</span> SliceAccessProxy(<a class="code" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html">SizedResolvedSignal&lt;TA, TE&gt;</a> signal, <span class="keywordtype">int</span> from, <span class="keywordtype">int</span> to)</div>
<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;            {</div>
<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160;                _signal = signal;</div>
<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160;                _from = from;</div>
<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160;                _to = to;</div>
<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160;            }</div>
<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160;</div>
<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160;            <span class="keyword">public</span> TA Cur</div>
<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160;            {</div>
<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160;                [<a class="code" href="class_system_sharp_1_1_components_1_1_signal_property.html">SignalProperty</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">EReferencedProperty</a>.Cur)]</div>
<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160;                <span class="keyword">get</span></div>
<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160;                {</div>
<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160;                    <span class="keywordflow">return</span> _signal.Cur[_from, _to];</div>
<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160;                }</div>
<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160;            }</div>
<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160;</div>
<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160;            <span class="keyword">public</span> TA Pre</div>
<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160;            {</div>
<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160;                [<a class="code" href="class_system_sharp_1_1_components_1_1_signal_property.html">SignalProperty</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">EReferencedProperty</a>.Pre)]</div>
<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160;                <span class="keyword">get</span></div>
<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160;                {</div>
<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160;                    <span class="keywordflow">return</span> _signal.Pre[_from, _to];</div>
<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160;                }</div>
<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;            }</div>
<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;</div>
<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;            <span class="keyword">public</span> TA Next</div>
<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160;            {</div>
<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160;                [<a class="code" href="class_system_sharp_1_1_components_1_1_signal_property.html">SignalProperty</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">EReferencedProperty</a>.Next)]</div>
<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160;                set</div>
<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160;                {</div>
<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>&#160;                    _signal.Next = _signal.Next[_signal.Size - 1, _from + 1].Concat(value).Concat(_signal.Next[_to - 1, 0]);</div>
<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160;                }</div>
<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160;            }</div>
<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160;</div>
<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_components_1_1_abstract_event.html">AbstractEvent</a> ChangedEvent</div>
<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160;            {</div>
<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160;                [<a class="code" href="class_system_sharp_1_1_components_1_1_signal_property.html">SignalProperty</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">EReferencedProperty</a>.ChangedEvent)]</div>
<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> _signal.ChangedEvent; }</div>
<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160;            }</div>
<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160;</div>
<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160;            In&lt;TA&gt; Out&lt;TA&gt;.Dual</div>
<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160;            {</div>
<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160;                <span class="keyword">get</span></div>
<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160;                {</div>
<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160;                }</div>
<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160;            }</div>
<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>&#160;</div>
<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160;            Out&lt;TA&gt; In&lt;TA&gt;.Dual</div>
<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160;            {</div>
<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160;                <span class="keyword">get</span></div>
<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>&#160;                {</div>
<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>&#160;                }</div>
<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>&#160;            }</div>
<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>&#160;</div>
<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">object</span> InitialValueObject</div>
<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>&#160;            {</div>
<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> _signal.InitialValue[_from, _to]; }</div>
<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160;            }</div>
<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>&#160;</div>
<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">object</span> PreObject</div>
<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160;            {</div>
<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> Pre; }</div>
<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>&#160;            }</div>
<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160;</div>
<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">object</span> CurObject</div>
<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160;            {</div>
<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> Cur; }</div>
<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;            }</div>
<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160;</div>
<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">object</span> NextObject</div>
<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>&#160;            {</div>
<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160;                set { Next = (TA)value; }</div>
<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span>&#160;            }</div>
<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>&#160;</div>
<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> ElementType</div>
<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>&#160;            {</div>
<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> TypeDescriptor.GetTypeOf(InitialValueObject); }</div>
<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160;            }</div>
<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>&#160;</div>
<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a> ToSignalRef(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">EReferencedProperty</a> prop)</div>
<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160;            {</div>
<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160;                var index = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_index_spec.html">IndexSpec</a>((<a class="code" href="class_system_sharp_1_1_data_types_1_1_dim_spec.html">DimSpec</a>)<span class="keyword">new</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_range.html">Range</a>(_from, _to, <a class="code" href="namespace_system_sharp_1_1_data_types.html#a186276b2957914dc1704f6e0bec8214a">EDimDirection</a>.Downto));</div>
<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>(_signal.Descriptor, prop,</div>
<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160;                    index.AsExpressions(), index, <span class="keyword">true</span>);</div>
<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;            }</div>
<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;        }</div>
<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160;</div>
<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;        <span class="keyword">private</span> <span class="keyword">class </span>ElementAccessProxy :</div>
<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;            <a class="code" href="namespace_system_sharp_1_1_components.html#a1b363c1bde8fdda4245b1c5c616e328ea47a54d9da8952a3980d27488b00a21c1">InOut</a>&lt;TE&gt;,</div>
<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160;            <a class="code" href="interface_system_sharp_1_1_components_1_1_i_signal.html">ISignal</a></div>
<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160;        {</div>
<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;            <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html">SizedResolvedSignal&lt;TA, TE&gt;</a> _signal;</div>
<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160;            <span class="keyword">private</span> <span class="keywordtype">int</span> _index;</div>
<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160;</div>
<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160;            <span class="keyword">public</span> ElementAccessProxy(<a class="code" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html">SizedResolvedSignal&lt;TA, TE&gt;</a> signal, <span class="keywordtype">int</span> index)</div>
<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160;            {</div>
<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160;                _signal = signal;</div>
<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160;                _index = index;</div>
<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160;            }</div>
<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;</div>
<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;            <span class="keyword">public</span> TE Cur</div>
<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160;            {</div>
<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;                [<a class="code" href="class_system_sharp_1_1_components_1_1_signal_property.html">SignalProperty</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">EReferencedProperty</a>.Cur)]</div>
<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> _signal.Cur[_index]; }</div>
<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;            }</div>
<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160;</div>
<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160;            <span class="keyword">public</span> TE Pre</div>
<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160;            {</div>
<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160;                [<a class="code" href="class_system_sharp_1_1_components_1_1_signal_property.html">SignalProperty</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">EReferencedProperty</a>.Pre)]</div>
<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> _signal.Pre[_index]; }</div>
<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160;            }</div>
<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>&#160;</div>
<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160;            <span class="keyword">public</span> TE Next</div>
<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160;            {</div>
<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>&#160;                [<a class="code" href="class_system_sharp_1_1_components_1_1_signal_property.html">SignalProperty</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">EReferencedProperty</a>.Next)]</div>
<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;                set</div>
<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>&#160;                {</div>
<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160;                    _signal.Next = _signal.Next[_signal.Size - 1, _index + 1].Concat(value).Concat(_signal.Next[_index - 1, 0]);</div>
<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>&#160;                }</div>
<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160;            }</div>
<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160;</div>
<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_components_1_1_abstract_event.html">AbstractEvent</a> ChangedEvent</div>
<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160;            {</div>
<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>&#160;                [<a class="code" href="class_system_sharp_1_1_components_1_1_signal_property.html">SignalProperty</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">EReferencedProperty</a>.ChangedEvent)]</div>
<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> _signal.ChangedEvent; }</div>
<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>&#160;            }</div>
<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>&#160;</div>
<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>&#160;            In&lt;TE&gt; Out&lt;TE&gt;.Dual</div>
<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>&#160;            {</div>
<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> <span class="keyword">this</span>; }</div>
<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>&#160;            }</div>
<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>&#160;</div>
<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>&#160;            Out&lt;TE&gt; In&lt;TE&gt;.Dual</div>
<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>&#160;            {</div>
<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> <span class="keyword">this</span>; }</div>
<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160;            }</div>
<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>&#160;</div>
<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">object</span> InitialValueObject</div>
<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160;            {</div>
<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> _signal.InitialValue[_index]; }</div>
<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160;            }</div>
<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>&#160;</div>
<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">object</span> PreObject</div>
<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>&#160;            {</div>
<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> Pre; }</div>
<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;            }</div>
<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>&#160;</div>
<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">object</span> CurObject</div>
<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>&#160;            {</div>
<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> Cur; }</div>
<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160;            }</div>
<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span>&#160;</div>
<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">object</span> NextObject</div>
<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>&#160;            {</div>
<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>&#160;                set { Next = (TE)value; }</div>
<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>&#160;            }</div>
<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160;</div>
<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> ElementType</div>
<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>&#160;            {</div>
<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> TypeDescriptor.GetTypeOf(InitialValueObject); }</div>
<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span>&#160;            }</div>
<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>&#160;</div>
<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a> ToSignalRef(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">EReferencedProperty</a> prop)</div>
<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>&#160;            {</div>
<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span>&#160;                var index = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_index_spec.html">IndexSpec</a>((<a class="code" href="class_system_sharp_1_1_data_types_1_1_dim_spec.html">DimSpec</a>)_index);</div>
<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>(_signal.Descriptor, prop,</div>
<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>&#160;                    index.AsExpressions(), index, <span class="keyword">true</span>);</div>
<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>&#160;            }</div>
<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>&#160;        }</div>
<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160;</div>
<div class="line"><a name="l02127"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html#a1dc276f70174f985fc7ac20c7770fddf"> 2127</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html#a1dc276f70174f985fc7ac20c7770fddf">SizedResolvedSignal</a>(<span class="keywordtype">int</span> size)</div>
<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>&#160;        {</div>
<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>&#160;            <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a> = size;</div>
<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>&#160;        }</div>
<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>&#160;</div>
<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>&#160;        <span class="keyword">public</span> <span class="keywordtype">int</span> <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a></div>
<div class="line"><a name="l02136"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html#a863964dc8dd85712380b0143d683a6a9"> 2136</a></span>&#160;        {</div>
<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_intrinsic_function.html">MapToIntrinsicFunction</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function.html">IntrinsicFunction</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function.html#a762cc72094d2dc70761af21448c23880">EAction</a>.PropertyRef, <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3">ESizedProperties</a>.Size)]</div>
<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>&#160;            <span class="keyword">get</span>;</div>
<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>&#160;            <span class="keyword">private</span> set;</div>
<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span>&#160;        }</div>
<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>&#160;</div>
<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> TA InitialValue</div>
<div class="line"><a name="l02144"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html#aa5a9f022caa32a1280db4e4e24dc928d"> 2144</a></span>&#160;        {</div>
<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span>&#160;            {</div>
<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span>&#160;                <span class="keywordflow">return</span> base.InitialValue;</div>
<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span>&#160;            }</div>
<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span>&#160;            set</div>
<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span>&#160;            {</div>
<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span>&#160;                <span class="keywordflow">if</span> (value.Size != <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>)</div>
<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Wrong vector size&quot;</span>);</div>
<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span>&#160;</div>
<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span>&#160;                base.InitialValue = value;</div>
<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span>&#160;            }</div>
<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span>&#160;        }</div>
<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span>&#160;</div>
<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> TA Next</div>
<div class="line"><a name="l02159"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html#a2c53789d0d7be24b8a1bf4ae8ba1598d"> 2159</a></span>&#160;        {</div>
<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span>&#160;            <span class="keyword">internal</span> <span class="keyword">get</span></div>
<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span>&#160;            {</div>
<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>&#160;                <span class="keywordflow">return</span> base.Next;</div>
<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>&#160;            }</div>
<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_signal_property.html">SignalProperty</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">EReferencedProperty</a>.Next)]</div>
<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160;            set</div>
<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160;            {</div>
<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160;                <span class="keywordflow">if</span> (value.Size != <a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>)</div>
<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Wrong vector size&quot;</span>);</div>
<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>&#160;</div>
<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160;                base.Next = value;</div>
<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>&#160;            }</div>
<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span>&#160;        }</div>
<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span>&#160;</div>
<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span>&#160;        <span class="keyword">public</span> InOut&lt;TA&gt; <span class="keyword">this</span>[<span class="keywordtype">int</span> i0, <span class="keywordtype">int</span> i1]</div>
<div class="line"><a name="l02181"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html#a3f9905da012bcff4aabe884a52d3f23e"> 2181</a></span>&#160;        {</div>
<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_slice.html">MapToSlice</a>]</div>
<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>&#160;            {</div>
<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">new</span> SliceAccessProxy(<span class="keyword">this</span>, i0, i1);</div>
<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>&#160;            }</div>
<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span>&#160;        }</div>
<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span>&#160;</div>
<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160;        <span class="keyword">public</span> InOut&lt;TE&gt; <span class="keyword">this</span>[<span class="keywordtype">int</span> index]</div>
<div class="line"><a name="l02196"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html#a1fbbd5ba3c930bcf1a50594badc073a1"> 2196</a></span>&#160;        {</div>
<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_map_to_intrinsic_function.html">MapToIntrinsicFunction</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function.html">IntrinsicFunction</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function.html#a762cc72094d2dc70761af21448c23880">EAction</a>.Index)]</div>
<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>&#160;            [<a class="code" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SideEffectFree</a>]</div>
<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span>&#160;            {</div>
<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">new</span> ElementAccessProxy(<span class="keyword">this</span>, index);</div>
<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>&#160;            }</div>
<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>&#160;        }</div>
<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span>&#160;</div>
<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_assume_not_called.html">AssumeNotCalled</a>]</div>
<div class="line"><a name="l02214"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html#a302bb35d5dac5b7544ea703a5c9ed0b3"> 2214</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <a class="code" href="interface_system_sharp_1_1_components_1_1_i_signal.html">ISignal</a> <a class="code" href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html#a302bb35d5dac5b7544ea703a5c9ed0b3">ApplyIndex</a>(<a class="code" href="class_system_sharp_1_1_data_types_1_1_index_spec.html">IndexSpec</a> idx)</div>
<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span>&#160;        {</div>
<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(idx != null, <span class="stringliteral">&quot;idx&quot;</span>);</div>
<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span>&#160;</div>
<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160;            <span class="keywordflow">if</span> (idx.<a class="code" href="class_system_sharp_1_1_data_types_1_1_index_spec.html#ad8bcff25c02b8ee9bad9de6a18ded154">Indices</a>.Length == 0)</div>
<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span>&#160;            {</div>
<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span>&#160;            }</div>
<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (idx.<a class="code" href="class_system_sharp_1_1_data_types_1_1_index_spec.html#ad8bcff25c02b8ee9bad9de6a18ded154">Indices</a>.Length == 1)</div>
<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span>&#160;            {</div>
<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span>&#160;                <a class="code" href="class_system_sharp_1_1_data_types_1_1_dim_spec.html">DimSpec</a> idx0 = idx.Indices[0];</div>
<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span>&#160;                <span class="keywordflow">switch</span> (idx0.<a class="code" href="class_system_sharp_1_1_data_types_1_1_dim_spec.html#abd8e34219997a5b65b66e74a8f4c8c25">Kind</a>)</div>
<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span>&#160;                {</div>
<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span>&#160;                    <span class="keywordflow">case</span> DimSpec.EKind.Index:</div>
<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span>&#160;                        <span class="keywordflow">return</span> (<a class="code" href="interface_system_sharp_1_1_components_1_1_i_signal.html">ISignal</a>)<span class="keyword">this</span>[(int)idx0];</div>
<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span>&#160;</div>
<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span>&#160;                    <span class="keywordflow">case</span> DimSpec.EKind.Range:</div>
<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span>&#160;                        {</div>
<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span>&#160;                            <a class="code" href="struct_system_sharp_1_1_data_types_1_1_range.html">Range</a> rng = (<a class="code" href="struct_system_sharp_1_1_data_types_1_1_range.html">Range</a>)idx0;</div>
<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span>&#160;                            <span class="keywordflow">return</span> (<a class="code" href="interface_system_sharp_1_1_components_1_1_i_signal.html">ISignal</a>)<span class="keyword">this</span>[rng.FirstBound, rng.SecondBound];</div>
<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span>&#160;                        }</div>
<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span>&#160;</div>
<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span>&#160;                    <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span>&#160;                        <span class="keywordflow">throw</span> <span class="keyword">new</span> NotImplementedException();</div>
<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span>&#160;                }</div>
<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span>&#160;            }</div>
<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span>&#160;            {</div>
<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span>&#160;                <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;idx must not contain more than one index.&quot;</span>);</div>
<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span>&#160;            }</div>
<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span>&#160;        }</div>
<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span>&#160;    }</div>
<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span>&#160;</div>
<div class="line"><a name="l02250"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html"> 2250</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html">StdLogicExtensions</a></div>
<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span>&#160;    {</div>
<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_signal_property.html">SignalProperty</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">EReferencedProperty</a>.RisingEdge)]</div>
<div class="line"><a name="l02257"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html#a63ab4ee90fb5390fa5ef44638e18ab54"> 2257</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html#a63ab4ee90fb5390fa5ef44638e18ab54">RisingEdge</a>(<span class="keyword">this</span> In&lt;StdLogic&gt; slin)</div>
<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span>&#160;        {</div>
<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(slin != null, <span class="stringliteral">&quot;slin&quot;</span>);</div>
<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span>&#160;            <span class="keywordflow">return</span> slin.Pre == <span class="charliteral">&#39;0&#39;</span> &amp;&amp; slin.Cur == <span class="charliteral">&#39;1&#39;</span>;</div>
<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span>&#160;        }</div>
<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span>&#160;</div>
<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span>&#160;        [<a class="code" href="class_system_sharp_1_1_components_1_1_signal_property.html">SignalProperty</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SignalRef</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">EReferencedProperty</a>.FallingEdge)]</div>
<div class="line"><a name="l02268"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html#a75c6929bd8460e17003b0bab3ffe27fb"> 2268</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html#a75c6929bd8460e17003b0bab3ffe27fb">FallingEdge</a>(<span class="keyword">this</span> In&lt;StdLogic&gt; slin)</div>
<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span>&#160;        {</div>
<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(slin != null, <span class="stringliteral">&quot;slin&quot;</span>);</div>
<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span>&#160;            <span class="keywordflow">return</span> slin.Pre == <span class="charliteral">&#39;1&#39;</span> &amp;&amp; slin.Cur == <span class="charliteral">&#39;0&#39;</span>;</div>
<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span>&#160;        }</div>
<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span>&#160;</div>
<div class="line"><a name="l02277"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html#a1633cdfc8f0cb51fb845315788599e6a"> 2277</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> <a class="code" href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html#a1633cdfc8f0cb51fb845315788599e6a">Any</a>(<span class="keyword">this</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> slv)</div>
<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span>&#160;        {</div>
<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span>&#160;            var cpy = slv;</div>
<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; cpy.Size; i++)</div>
<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span>&#160;            {</div>
<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span>&#160;                <span class="keywordflow">if</span> (cpy[i] == <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a1386536806979746228680b479e117e5">_1</a>)</div>
<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span>&#160;                    <span class="keywordflow">return</span> StdLogic._1;</div>
<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span>&#160;            }</div>
<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span>&#160;            <span class="keywordflow">return</span> StdLogic._0;</div>
<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span>&#160;        }</div>
<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span>&#160;</div>
<div class="line"><a name="l02291"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html#aa3320382e4562da5bafad655381da8d2"> 2291</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> <a class="code" href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html#aa3320382e4562da5bafad655381da8d2">All</a>(<span class="keyword">this</span> <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> slv)</div>
<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span>&#160;        {</div>
<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; slv.Size; i++)</div>
<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span>&#160;            {</div>
<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span>&#160;                <span class="keywordflow">if</span> (slv[i] == <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>.<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#abbec3123b2d1b5f7c9013cf3d65016c6">_0</a>)</div>
<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span>&#160;                    <span class="keywordflow">return</span> StdLogic._0;</div>
<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span>&#160;            }</div>
<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span>&#160;            <span class="keywordflow">return</span> StdLogic._1;</div>
<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span>&#160;        }</div>
<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span>&#160;    }</div>
<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span>&#160;}</div>
<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span>&#160;</div>
<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span>&#160;<span class="keyword">namespace </span>SystemSharp.Components</div>
<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span>&#160;{</div>
<div class="line"><a name="l02308"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_components_1_1_s_l_signal.html"> 2308</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_components_1_1_s_l_signal.html">SLSignal</a> :</div>
<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span>&#160;        ResolvedSignal&lt;StdLogic&gt;</div>
<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span>&#160;    {</div>
<div class="line"><a name="l02314"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_components_1_1_s_l_signal.html#af2495c687542ab4c8d2aff2adbc7c0f5"> 2314</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_components_1_1_s_l_signal.html#af2495c687542ab4c8d2aff2adbc7c0f5">SLSignal</a>()</div>
<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span>&#160;        {</div>
<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span>&#160;            InitialValue = <span class="charliteral">&#39;U&#39;</span>;</div>
<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span>&#160;        }</div>
<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span>&#160;    }</div>
<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span>&#160;</div>
<div class="line"><a name="l02323"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_components_1_1_s_l_v_signal.html"> 2323</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_signal.html">SLVSignal</a> : SizedResolvedSignal&lt;StdLogicVector, StdLogic&gt;</div>
<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span>&#160;    {</div>
<div class="line"><a name="l02329"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_components_1_1_s_l_v_signal.html#aefb71fc7538fa5e6e87893783a7a9365"> 2329</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_signal.html#aefb71fc7538fa5e6e87893783a7a9365">SLVSignal</a>(<span class="keywordtype">int</span> size) :</div>
<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span>&#160;            base(size)</div>
<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span>&#160;        {</div>
<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span>&#160;            InitialValue = StdLogicVector.Us(size);</div>
<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span>&#160;        }</div>
<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span>&#160;</div>
<div class="line"><a name="l02339"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_components_1_1_s_l_v_signal.html#a175c084663f03256e8e26fc8a0a46344"> 2339</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_signal.html#a175c084663f03256e8e26fc8a0a46344">SLVSignal</a>(<a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a> initValue) :</div>
<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span>&#160;            base(initValue.<a class="code" href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">Size</a>)</div>
<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span>&#160;        {</div>
<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span>&#160;            InitialValue = initValue;</div>
<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span>&#160;        }</div>
<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span>&#160;    }</div>
<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span>&#160;</div>
<div class="line"><a name="l02349"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_components_1_1_s_l_v_extensions.html"> 2349</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_extensions.html">SLVExtensions</a></div>
<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span>&#160;    {</div>
<div class="line"><a name="l02354"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_components_1_1_s_l_v_extensions.html#a289d0d0f41fdf4c28035202ffa5809c2"> 2354</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_extensions.html#a289d0d0f41fdf4c28035202ffa5809c2">Size</a>(<span class="keyword">this</span> InOut&lt;StdLogicVector&gt; port)</div>
<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span>&#160;        {</div>
<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span>&#160;            <span class="keywordflow">return</span> ((<a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_signal.html">SLVSignal</a>)port).Size;</div>
<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span>&#160;        }</div>
<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span>&#160;</div>
<div class="line"><a name="l02362"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_components_1_1_s_l_v_extensions.html#a6d8acef4cabbade829f3fbc19d902d79"> 2362</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_extensions.html#a6d8acef4cabbade829f3fbc19d902d79">Size</a>(<span class="keyword">this</span> In&lt;StdLogicVector&gt; port)</div>
<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span>&#160;        {</div>
<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span>&#160;            <span class="keywordflow">return</span> ((<a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_signal.html">SLVSignal</a>)port).Size;</div>
<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span>&#160;        }</div>
<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span>&#160;</div>
<div class="line"><a name="l02370"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_components_1_1_s_l_v_extensions.html#a5c19e0ca17b6f04dbcef2e333ae8f733"> 2370</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_extensions.html#a5c19e0ca17b6f04dbcef2e333ae8f733">Size</a>(<span class="keyword">this</span> Out&lt;StdLogicVector&gt; port)</div>
<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span>&#160;        {</div>
<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span>&#160;            <span class="keywordflow">return</span> ((<a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_signal.html">SLVSignal</a>)port).Size;</div>
<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span>&#160;        }</div>
<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span>&#160;    }</div>
<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span>&#160;</div>
<div class="line"><a name="l02376"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_components_1_1_s_l_v_concat_rewriter.html"> 2376</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_concat_rewriter.html">SLVConcatRewriter</a> : <a class="code" href="class_system_sharp_1_1_components_1_1_rewrite_call.html">RewriteCall</a></div>
<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span>&#160;    {</div>
<div class="line"><a name="l02378"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_components_1_1_s_l_v_concat_rewriter.html#ad124c6a166c8f02cde5530158fa75095"> 2378</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">bool</span> <a class="code" href="class_system_sharp_1_1_components_1_1_s_l_v_concat_rewriter.html#ad124c6a166c8f02cde5530158fa75095">Rewrite</a>(<a class="code" href="class_system_sharp_1_1_meta_1_1_code_descriptor.html">CodeDescriptor</a> decompilee, MethodBase callee, <a class="code" href="struct_system_sharp_1_1_analysis_1_1_stack_element.html">StackElement</a>[] args, <a class="code" href="interface_system_sharp_1_1_analysis_1_1_i_decompiler.html">IDecompiler</a> stack, <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html">IFunctionBuilder</a> builder)</div>
<div class="line"><a name="l02379"></a><span class="lineno"> 2379</span>&#160;        {</div>
<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span>&#160;            <span class="comment">// Little on-the-fly optimization: if one vector is empty, no need to instantiate a concat operator</span></div>
<div class="line"><a name="l02381"></a><span class="lineno"> 2381</span>&#160;            var slv0 = args[0].Sample as <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">StdLogicVector</a>?;</div>
<div class="line"><a name="l02382"></a><span class="lineno"> 2382</span>&#160;            var slv1 = args[1].Sample as StdLogicVector?;</div>
<div class="line"><a name="l02383"></a><span class="lineno"> 2383</span>&#160;            var sl0 = args[0].Sample as <a class="code" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a>?;</div>
<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span>&#160;            var sl1 = args[1].Sample as StdLogic?;</div>
<div class="line"><a name="l02385"></a><span class="lineno"> 2385</span>&#160;            <span class="keywordflow">if</span> (slv0 != null &amp;&amp; slv0.Value.Size == 0)</div>
<div class="line"><a name="l02386"></a><span class="lineno"> 2386</span>&#160;            {</div>
<div class="line"><a name="l02387"></a><span class="lineno"> 2387</span>&#160;                <span class="keywordflow">if</span> (slv1 != null)</div>
<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span>&#160;                {</div>
<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span>&#160;                    stack.Push(args[1]);</div>
<div class="line"><a name="l02390"></a><span class="lineno"> 2390</span>&#160;                }</div>
<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span>&#160;                <span class="keywordflow">else</span></div>
<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span>&#160;                {</div>
<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span>&#160;                    slv1 = sl1.Value.Concat(StdLogicVector.Empty);</div>
<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span>&#160;                    stack.Push(IntrinsicFunctions.Cast(args[1].Expr, typeof(StdLogic), TypeDescriptor.GetTypeOf(slv1.Value)), slv1.Value);</div>
<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span>&#160;                }</div>
<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span>&#160;            }</div>
<div class="line"><a name="l02397"></a><span class="lineno"> 2397</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (slv1 != null &amp;&amp; slv1.Value.Size == 0)</div>
<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span>&#160;            {</div>
<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span>&#160;                <span class="keywordflow">if</span> (slv0 != null)</div>
<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span>&#160;                {</div>
<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span>&#160;                    stack.Push(args[0]);</div>
<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span>&#160;                }</div>
<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span>&#160;                <span class="keywordflow">else</span></div>
<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span>&#160;                {</div>
<div class="line"><a name="l02405"></a><span class="lineno"> 2405</span>&#160;                    slv0 = sl0.Value.Concat(StdLogicVector.Empty);</div>
<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span>&#160;                    stack.Push(IntrinsicFunctions.Cast(args[0].Expr, typeof(StdLogic), TypeDescriptor.GetTypeOf(slv0.Value)), slv0.Value);</div>
<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span>&#160;                }</div>
<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span>&#160;            }</div>
<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (slv0 != null &amp;&amp; slv1 != null)</div>
<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span>&#160;            {</div>
<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span>&#160;                stack.Push(Expression.Concat(args[0].Expr, args[1].Expr), slv0.Value.Concat(slv1.Value));</div>
<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span>&#160;            }</div>
<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (slv0 != null &amp;&amp; sl1 != null)</div>
<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span>&#160;            {</div>
<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span>&#160;                stack.Push(Expression.Concat(args[0].Expr, args[1].Expr), slv0.Value.Concat(sl1.Value));</div>
<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span>&#160;            }</div>
<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sl0 != null &amp;&amp; slv1 != null)</div>
<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span>&#160;            {</div>
<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span>&#160;                stack.Push(Expression.Concat(args[0].Expr, args[1].Expr), sl0.Value.Concat(slv1.Value));</div>
<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span>&#160;            }</div>
<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sl0 != null &amp;&amp; sl1 != null)</div>
<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span>&#160;            {</div>
<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span>&#160;                stack.Push(Expression.Concat(args[0].Expr, args[1].Expr), sl0.Value.Concat(sl1.Value));</div>
<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span>&#160;            }</div>
<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span>&#160;        }</div>
<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span>&#160;    }</div>
<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span>&#160;</div>
<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span>&#160;}</div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_int_to_zero_based_down_range_converter_html"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_int_to_zero_based_down_range_converter.html">SystemSharp.Meta.IntToZeroBasedDownRangeConverter</a></div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l01867">ComponentsReflection.cs:1867</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4_html_a302bb35d5dac5b7544ea703a5c9ed0b3"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html#a302bb35d5dac5b7544ea703a5c9ed0b3">SystemSharp.DataTypes.SizedResolvedSignal&lt; TA, TE &gt;.ApplyIndex</a></div><div class="ttdeci">override ISignal ApplyIndex(IndexSpec idx)</div><div class="ttdoc">Constructs a sub-signal which provides access to the index or slice being specified by idx ...</div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02214">StdLogicLib.cs:2214</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_ada2d6b163e1542fb13263921733425b0"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ada2d6b163e1542fb13263921733425b0">SystemSharp.DataTypes.StdLogic.X</a></div><div class="ttdeci">static readonly StdLogic X</div><div class="ttdoc">Invalid, conflict or unknown </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00287">StdLogicLib.cs:287</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_data_types_1_1_i_size_of_html"><div class="ttname"><a href="interface_system_sharp_1_1_data_types_1_1_i_size_of.html">SystemSharp.DataTypes.ISizeOf</a></div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00056">StdLogicLib.cs:56</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_type_conversion_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_type_conversion.html">SystemSharp.Components.TypeConversion</a></div><div class="ttdoc">This attribute indicates that the tagged method performs a type conversion. Calls to the tagges metho...</div><div class="ttdef"><b>Definition:</b> <a href="_components_attributes_8cs_source.html#l00452">ComponentsAttributes.cs:452</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_function_spec_html_af788e11ab4b93a4e2ce4ef47e6082938"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_function_spec.html#af788e11ab4b93a4e2ce4ef47e6082938">SystemSharp.SysDOM.FunctionSpec.IntrinsicRep</a></div><div class="ttdeci">IntrinsicFunction IntrinsicRep</div><div class="ttdoc">Intrinsic representation of the specified function. </div><div class="ttdef"><b>Definition:</b> <a href="_core_algebraic_8cs_source.html#l03417">CoreAlgebraic.cs:3417</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_s_l_v_extensions_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_s_l_v_extensions.html">SystemSharp.Components.SLVExtensions</a></div><div class="ttdoc">This static class provides convenience methods to work with logic vector-valued signals. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02349">StdLogicLib.cs:2349</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_string_s_l_v_html_a0e68e084d36bf1f4778a340c87b7ffdf"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_string_s_l_v.html#a0e68e084d36bf1f4778a340c87b7ffdf">SystemSharp.DataTypes.StringSLV.Serialize</a></div><div class="ttdeci">StdLogicVector Serialize(object value)</div><div class="ttdoc">Serializes an object as StdLogicVector </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00720">StdLogicLib.cs:720</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_a23585ff66c2e80f951d55fbcb8480594"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a23585ff66c2e80f951d55fbcb8480594">SystemSharp.DataTypes.StdLogic.Resolve</a></div><div class="ttdeci">StdLogic Resolve(StdLogic x, StdLogic y)</div><div class="ttdoc">Performs logic resolution of two StdLogic values. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00465">StdLogicLib.cs:465</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_a1f0a07fefe3cfb0946caaa51b8d8ae52"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a1f0a07fefe3cfb0946caaa51b8d8ae52">SystemSharp.DataTypes.StdLogic.GetHashCode</a></div><div class="ttdeci">override int GetHashCode()</div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00374">StdLogicLib.cs:374</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_a9986e53fb7c9e6f2448ce1e5218e4cd7"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a9986e53fb7c9e6f2448ce1e5218e4cd7">SystemSharp.DataTypes.StdLogic.ToString</a></div><div class="ttdeci">override string ToString()</div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00369">StdLogicLib.cs:369</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_map_to_intrinsic_function_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_map_to_intrinsic_function.html">SystemSharp.Components.MapToIntrinsicFunction</a></div><div class="ttdoc">Any call to the tagged method will be translated to a SysDOM-intrinsic function call during decompila...</div><div class="ttdef"><b>Definition:</b> <a href="_components_attributes_8cs_source.html#l00512">ComponentsAttributes.cs:512</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_a60f3aa92b41b87ec3a4a01ba4ae65090"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a60f3aa92b41b87ec3a4a01ba4ae65090">SystemSharp.DataTypes.StdLogic.U</a></div><div class="ttdeci">static readonly StdLogic U</div><div class="ttdoc">Uninitialized </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00281">StdLogicLib.cs:281</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html">SystemSharp.DataTypes.StdLogicVector</a></div><div class="ttdoc">Represents a vector of four-valued logic, similiar to IEEE 1164. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00783">StdLogicLib.cs:783</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_bool_s_l_v_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_bool_s_l_v.html">SystemSharp.DataTypes.BoolSLV</a></div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00666">StdLogicLib.cs:666</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_a99a4113446fe6285f8e48623d8c6a778"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a99a4113446fe6285f8e48623d8c6a778">SystemSharp.DataTypes.StdLogic.Concat</a></div><div class="ttdeci">StdLogicVector Concat(StdLogicVector slv)</div><div class="ttdoc">Appends a logical vector to this value and returns the resulting logic vector. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00538">StdLogicLib.cs:538</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder_html"><div class="ttname"><a href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html">SystemSharp.SysDOM.IFunctionBuilder</a></div><div class="ttdoc">Extends the algorithm builder interface by the capability of creating a SysDOM function. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01810">Algorithms.cs:1810</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_float_s_l_v_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_float_s_l_v.html">SystemSharp.DataTypes.FloatSLV</a></div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00745">StdLogicLib.cs:745</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_float_format_html_af72a42905b95a85f0ff0d8b696aec1e7"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_float_format.html#af72a42905b95a85f0ff0d8b696aec1e7">SystemSharp.DataTypes.FloatFormat.DoubleFormat</a></div><div class="ttdeci">static readonly FloatFormat DoubleFormat</div><div class="ttdoc">The IEEE754 double format (64 bits in total). </div><div class="ttdef"><b>Definition:</b> <a href="_i_e_e_e754_support_8cs_source.html#l00087">IEEE754Support.cs:87</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_components_1_1_i_signal_html"><div class="ttname"><a href="interface_system_sharp_1_1_components_1_1_i_signal.html">SystemSharp.Components.ISignal</a></div><div class="ttdoc">Interface definition for signals </div><div class="ttdef"><b>Definition:</b> <a href="_signals_core_8cs_source.html#l00294">SignalsCore.cs:294</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_auto_conversion_html_ac208dc4d19cc5b848bca7f77d3400ae6"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_auto_conversion.html#ac208dc4d19cc5b848bca7f77d3400ae6">SystemSharp.Components.AutoConversion.EAction</a></div><div class="ttdeci">EAction</div><div class="ttdoc">Whether the conversion should be included explicitly into the SysDOM decompilation. </div><div class="ttdef"><b>Definition:</b> <a href="_components_attributes_8cs_source.html#l01014">ComponentsAttributes.cs:1014</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_a91a38fe06cee3e43aefd6d979fa11ade"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a91a38fe06cee3e43aefd6d979fa11ade">SystemSharp.DataTypes.StdLogic.EValues</a></div><div class="ttdeci">EValues</div><div class="ttdoc">The logic values which can be taken. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00199">StdLogicLib.cs:199</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_synthesis_1_1_i_serializer_html"><div class="ttname"><a href="interface_system_sharp_1_1_synthesis_1_1_i_serializer.html">SystemSharp.Synthesis.ISerializer</a></div><div class="ttdoc">Service interface for serializing and deserializing objects to and from StdLogicVector instances...</div><div class="ttdef"><b>Definition:</b> <a href="_memory_mapping_8cs_source.html#l00042">MemoryMapping.cs:42</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_data_types_1_1_i_sized_html"><div class="ttname"><a href="interface_system_sharp_1_1_data_types_1_1_i_sized.html">SystemSharp.DataTypes.ISized</a></div><div class="ttdoc">This interface is used for data types which have an associated size. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00051">StdLogicLib.cs:51</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_function_call_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_function_call.html">SystemSharp.SysDOM.FunctionCall</a></div><div class="ttdoc">A function call expression. </div><div class="ttdef"><b>Definition:</b> <a href="_core_algebraic_8cs_source.html#l03496">CoreAlgebraic.cs:3496</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a1d26cb2f90dec7499f4a5f7b10c36ce7"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a1d26cb2f90dec7499f4a5f7b10c36ce7">SystemSharp.DataTypes.StdLogicVector.ToString</a></div><div class="ttdeci">override string ToString()</div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00924">StdLogicLib.cs:924</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_string_s_l_v_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_string_s_l_v.html">SystemSharp.DataTypes.StringSLV</a></div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00718">StdLogicLib.cs:718</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a91429c5d6d6f09c68c804f4335f8e55a"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a91429c5d6d6f09c68c804f4335f8e55a">SystemSharp.DataTypes.StdLogicVector.GetHashCode</a></div><div class="ttdeci">override int GetHashCode()</div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00937">StdLogicLib.cs:937</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_assume_not_called_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_assume_not_called.html">SystemSharp.Components.AssumeNotCalled</a></div><div class="ttdoc">This attribute indicates that a method is never called during runtime. If the analysis engine finds a...</div><div class="ttdef"><b>Definition:</b> <a href="_components_attributes_8cs_source.html#l00752">ComponentsAttributes.cs:752</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref_html_ac2602b9335fc17657b0147b8b917c727"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html#ac2602b9335fc17657b0147b8b917c727">SystemSharp.SysDOM.SignalRef.EReferencedProperty</a></div><div class="ttdeci">EReferencedProperty</div><div class="ttdoc">Selects, which property of the signal is referenced </div><div class="ttdef"><b>Definition:</b> <a href="_literals_8cs_source.html#l00504">Literals.cs:504</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_data_types_html_aaa77d3e1a986cc90a1b9f920579b78d3"><div class="ttname"><a href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3">SystemSharp.DataTypes.ESizedProperties</a></div><div class="ttdeci">ESizedProperties</div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00043">StdLogicLib.cs:43</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a9172f70c06d08de75a701bede5e5e7e4"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a9172f70c06d08de75a701bede5e5e7e4">SystemSharp.DataTypes.StdLogicVector.Us</a></div><div class="ttdeci">static StdLogicVector Us(long count)</div><div class="ttdoc">Returns a logic vector which consists of logic &#39;U&#39;s of a specified length </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00860">StdLogicLib.cs:860</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_s_l_v_extensions_html_a6d8acef4cabbade829f3fbc19d902d79"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_s_l_v_extensions.html#a6d8acef4cabbade829f3fbc19d902d79">SystemSharp.Components.SLVExtensions.Size</a></div><div class="ttdeci">static int Size(this In&lt; StdLogicVector &gt; port)</div><div class="ttdoc">Returns the data vector size by querying the underlying SLVSignal. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02362">StdLogicLib.cs:2362</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_ab9c5cc5c8ae73f59d4e30f64edcb6744"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ab9c5cc5c8ae73f59d4e30f64edcb6744">SystemSharp.DataTypes.StdLogic.ToChar</a></div><div class="ttdeci">static char ToChar(EValues value)</div><div class="ttdoc">Converts an StdLogic value literal to its character representation. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00340">StdLogicLib.cs:340</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_expression_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">SystemSharp.SysDOM.Expression</a></div><div class="ttdoc">An expression. </div><div class="ttdef"><b>Definition:</b> <a href="_core_algebraic_8cs_source.html#l01096">CoreAlgebraic.cs:1096</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_meta_html_a6d63cf701a55bdbe2a3bb6df72b1c11d"><div class="ttname"><a href="namespace_system_sharp_1_1_meta.html#a6d63cf701a55bdbe2a3bb6df72b1c11d">SystemSharp.Meta.EIntrinsicTypes</a></div><div class="ttdeci">EIntrinsicTypes</div><div class="ttdoc">Provides symbols for all types which are considered &quot;System#-intrinsic&quot;. </div><div class="ttdef"><b>Definition:</b> <a href="_intrinsic_types_8cs_source.html#l00025">IntrinsicTypes.cs:25</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_double_s_l_v_html_a3ef2661ee705f6220f8aba0a072277fe"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_double_s_l_v.html#a3ef2661ee705f6220f8aba0a072277fe">SystemSharp.DataTypes.DoubleSLV.Serialize</a></div><div class="ttdeci">StdLogicVector Serialize(object value)</div><div class="ttdoc">Serializes an object as StdLogicVector </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00760">StdLogicLib.cs:760</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_s_l_v_concat_rewriter_html_ad124c6a166c8f02cde5530158fa75095"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_s_l_v_concat_rewriter.html#ad124c6a166c8f02cde5530158fa75095">SystemSharp.Components.SLVConcatRewriter.Rewrite</a></div><div class="ttdeci">override bool Rewrite(CodeDescriptor decompilee, MethodBase callee, StackElement[] args, IDecompiler stack, IFunctionBuilder builder)</div><div class="ttdoc">Implements the special treatment of a method call. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02378">StdLogicLib.cs:2378</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a6be9a3f726a9f003647cc7a8c77a0af4"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a6be9a3f726a9f003647cc7a8c77a0af4">SystemSharp.DataTypes.StdLogicVector.GetLength</a></div><div class="ttdeci">static int GetLength(TypeDescriptor type)</div><div class="ttdoc">Returns the length of logic vectors being described type , given that type  actually describes logic ...</div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l01924">StdLogicLib.cs:1924</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_type_parameter_html"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_type_parameter.html">SystemSharp.Meta.TypeParameter</a></div><div class="ttdoc">Declares an instance member of a data type as a type parameter. </div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l01879">ComponentsReflection.cs:1879</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_bool_s_l_v_html_aa47d0e0f326f6ba8f22ee7a4a2d95999"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_bool_s_l_v.html#aa47d0e0f326f6ba8f22ee7a4a2d95999">SystemSharp.DataTypes.BoolSLV.Deserialize</a></div><div class="ttdeci">object Deserialize(StdLogicVector slv, TypeDescriptor targetType)</div><div class="ttdoc">Deserializes an object from an StdLogicVector instance. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00673">StdLogicLib.cs:673</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_map_to_bin_op_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_map_to_bin_op.html">SystemSharp.Components.MapToBinOp</a></div><div class="ttdoc">This attribute is attached to methods and indicates that calls to the tagged method should be mapped ...</div><div class="ttdef"><b>Definition:</b> <a href="_components_attributes_8cs_source.html#l00937">ComponentsAttributes.cs:937</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_data_types_1_1_i_concatenable_3_01_t_a_00_01_t_e_01_4_html"><div class="ttname"><a href="interface_system_sharp_1_1_data_types_1_1_i_concatenable_3_01_t_a_00_01_t_e_01_4.html">SystemSharp.DataTypes.IConcatenable&lt; TA, TE &gt;</a></div><div class="ttdoc">This interface represents a data type which supports concatenation. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00100">StdLogicLib.cs:100</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_analysis_1_1_stack_element_html_a4777db0bee4622f506bbec26510d587b"><div class="ttname"><a href="struct_system_sharp_1_1_analysis_1_1_stack_element.html#a4777db0bee4622f506bbec26510d587b">SystemSharp.Analysis.StackElement.Expr</a></div><div class="ttdeci">Expression Expr</div><div class="ttdoc">Symbolic expression </div><div class="ttdef"><b>Definition:</b> <a href="_m_s_i_l_decompiler_8cs_source.html#l00602">MSILDecompiler.cs:602</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_s_l_v_s_l_v_html_aa453b125a628042772fc41a16041fa50"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_s_l_v_s_l_v.html#aa453b125a628042772fc41a16041fa50">SystemSharp.DataTypes.SLVSLV.Deserialize</a></div><div class="ttdeci">object Deserialize(StdLogicVector slv, TypeDescriptor targetType)</div><div class="ttdoc">Deserializes an object from an StdLogicVector instance. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00660">StdLogicLib.cs:660</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a3975e01d53a93b54df4943e3f38a6ecd"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a3975e01d53a93b54df4943e3f38a6ecd">SystemSharp.DataTypes.StdLogicVector.Serialize</a></div><div class="ttdeci">static StdLogicVector Serialize(object value)</div><div class="ttdoc">Serializes value  as logic vector. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l01864">StdLogicLib.cs:1864</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a6eff2e6e75fe09e1e5e151e92fee7101"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a6eff2e6e75fe09e1e5e151e92fee7101">SystemSharp.DataTypes.StdLogicVector.OneHot</a></div><div class="ttdeci">static StdLogicVector OneHot(int count, int pos)</div><div class="ttdoc">Constructs a one-hot encoded logic vector. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00882">StdLogicLib.cs:882</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_ab23e0b5467f5397096ad75dc6618df6c"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ab23e0b5467f5397096ad75dc6618df6c">SystemSharp.DataTypes.StdLogicVector.FromStdLogic</a></div><div class="ttdeci">static StdLogicVector FromStdLogic(params StdLogic[] bits)</div><div class="ttdoc">Constructs a logic vector from chaining multiple logic values. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00917">StdLogicLib.cs:917</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_array_ref_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_array_ref.html">SystemSharp.SysDOM.ArrayRef</a></div><div class="ttdoc">An array element reference literal. </div><div class="ttdef"><b>Definition:</b> <a href="_literals_8cs_source.html#l00918">Literals.cs:918</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_a70c915d91efd028686c3611a3c0b2351"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a70c915d91efd028686c3611a3c0b2351">SystemSharp.DataTypes.StdLogic.Z</a></div><div class="ttdeci">static readonly StdLogic Z</div><div class="ttdoc">High impedance </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00305">StdLogicLib.cs:305</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_abstract_event_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_abstract_event.html">SystemSharp.Components.AbstractEvent</a></div><div class="ttdoc">Abstract base class for events </div><div class="ttdef"><b>Definition:</b> <a href="_event_8cs_source.html#l00035">Event.cs:35</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_map_to_intrinsic_type_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_map_to_intrinsic_type.html">SystemSharp.Components.MapToIntrinsicType</a></div><div class="ttdoc">Indicates that the tagged class or interface is considered to be System#-intrinsic type...</div><div class="ttdef"><b>Definition:</b> <a href="_components_attributes_8cs_source.html#l00987">ComponentsAttributes.cs:987</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_s_l_v_extensions_html_a5c19e0ca17b6f04dbcef2e333ae8f733"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_s_l_v_extensions.html#a5c19e0ca17b6f04dbcef2e333ae8f733">SystemSharp.Components.SLVExtensions.Size</a></div><div class="ttdeci">static int Size(this Out&lt; StdLogicVector &gt; port)</div><div class="ttdoc">Returns the data vector size by querying the underlying SLVSignal. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02370">StdLogicLib.cs:2370</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_aaab107e973589721b946fc525c459118"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#aaab107e973589721b946fc525c459118">SystemSharp.DataTypes.StdLogicVector.Concat</a></div><div class="ttdeci">StdLogicVector Concat(StdLogicVector sv)</div><div class="ttdoc">Appends another logic vector to this logic vector. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l01240">StdLogicLib.cs:1240</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_bin_op_html_ab5bc58b1b90b8ea714fe042b2a0e63ef"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_bin_op.html#ab5bc58b1b90b8ea714fe042b2a0e63ef">SystemSharp.SysDOM.BinOp.Kind</a></div><div class="ttdeci">Kind</div><div class="ttdoc">Choice of binary operators. </div><div class="ttdef"><b>Definition:</b> <a href="_core_algebraic_8cs_source.html#l02723">CoreAlgebraic.cs:2723</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_char_s_l_v_html_a276924fcba14b27d54bbad9c36304a03"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_char_s_l_v.html#a276924fcba14b27d54bbad9c36304a03">SystemSharp.DataTypes.CharSLV.Serialize</a></div><div class="ttdeci">StdLogicVector Serialize(object value)</div><div class="ttdoc">Serializes an object as StdLogicVector </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00707">StdLogicLib.cs:707</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_data_types_html_aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719"><div class="ttname"><a href="namespace_system_sharp_1_1_data_types.html#aaa77d3e1a986cc90a1b9f920579b78d3a6f6cb72d544962fa333e2e34ce64f719">SystemSharp.DataTypes.Size</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_std_logic_s_l_v_html_a2bb19142a038f9a1e0a757dfe4c29994"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_std_logic_s_l_v.html#a2bb19142a038f9a1e0a757dfe4c29994">SystemSharp.DataTypes.StdLogicSLV.Serialize</a></div><div class="ttdeci">StdLogicVector Serialize(object value)</div><div class="ttdoc">Serializes an object as StdLogicVector </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00175">StdLogicLib.cs:175</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a7971894634d20a7cb7bd2adaa1651a9b"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a7971894634d20a7cb7bd2adaa1651a9b">SystemSharp.DataTypes.StdLogicVector.MakeType</a></div><div class="ttdeci">static TypeDescriptor MakeType(long slvlength)</div><div class="ttdoc">Constructs a type descriptor which describes a logic vector of given length. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l01912">StdLogicLib.cs:1912</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_float_format_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_float_format.html">SystemSharp.DataTypes.FloatFormat</a></div><div class="ttdoc">This class is used to represent variable floating point formats. </div><div class="ttdef"><b>Definition:</b> <a href="_i_e_e_e754_support_8cs_source.html#l00034">IEEE754Support.cs:34</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_std_logic_s_l_v_html_aebb42c00a7f772d62d8ca4f754ff560e"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_std_logic_s_l_v.html#aebb42c00a7f772d62d8ca4f754ff560e">SystemSharp.DataTypes.StdLogicSLV.Deserialize</a></div><div class="ttdeci">object Deserialize(StdLogicVector slv, TypeDescriptor targetType)</div><div class="ttdoc">Deserializes an object from an StdLogicVector instance. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00181">StdLogicLib.cs:181</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_static_evaluation_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_static_evaluation.html">SystemSharp.Components.StaticEvaluation</a></div><div class="ttdoc">This attribute declares a method to be suitable for static evaluation. Non-void methods only...</div><div class="ttdef"><b>Definition:</b> <a href="_components_attributes_8cs_source.html#l00703">ComponentsAttributes.cs:703</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_char_s_l_v_html_ae82b2b17b1f08121dff1c246068696cd"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_char_s_l_v.html#ae82b2b17b1f08121dff1c246068696cd">SystemSharp.DataTypes.CharSLV.Deserialize</a></div><div class="ttdeci">object Deserialize(StdLogicVector slv, TypeDescriptor targetType)</div><div class="ttdoc">Deserializes an object from an StdLogicVector instance. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00712">StdLogicLib.cs:712</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_map_to_slice_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_map_to_slice.html">SystemSharp.Components.MapToSlice</a></div><div class="ttdoc">Calls to the tagged method will be translated to the SysDOM-intrinsic &quot;slice&quot; function during decompi...</div><div class="ttdef"><b>Definition:</b> <a href="_components_attributes_8cs_source.html#l00619">ComponentsAttributes.cs:619</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_auto_conversion_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_auto_conversion.html">SystemSharp.Components.AutoConversion</a></div><div class="ttdoc">This attribute is attached to implicit and explicit operators only. It indicates that the tagged oper...</div><div class="ttdef"><b>Definition:</b> <a href="_components_attributes_8cs_source.html#l01009">ComponentsAttributes.cs:1009</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_a6c48f839aaa6102625c92a90a98714ce"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a6c48f839aaa6102625c92a90a98714ce">SystemSharp.DataTypes.StdLogic.Equals</a></div><div class="ttdeci">override bool Equals(object obj)</div><div class="ttdoc">Two StdLogic values are defined to be equal iff they represent the same logic literal. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00382">StdLogicLib.cs:382</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_unsigned_html"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_unsigned.html">SystemSharp.DataTypes.Unsigned</a></div><div class="ttdoc">An unsigned integer </div><div class="ttdef"><b>Definition:</b> <a href="_unsigned_8cs_source.html#l00637">Unsigned.cs:637</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_aeb925c6401bf3def6a8065c387c97f2e"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#aeb925c6401bf3def6a8065c387c97f2e">SystemSharp.DataTypes.StdLogicVector.Resolve</a></div><div class="ttdeci">StdLogicVector Resolve(StdLogicVector x, StdLogicVector y)</div><div class="ttdoc">Performs the bitwise resolution of two logic vector. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l01516">StdLogicLib.cs:1516</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_data_types_html_a186276b2957914dc1704f6e0bec8214a"><div class="ttname"><a href="namespace_system_sharp_1_1_data_types.html#a186276b2957914dc1704f6e0bec8214a">SystemSharp.DataTypes.EDimDirection</a></div><div class="ttdeci">EDimDirection</div><div class="ttdoc">This enumeration is used to model the direction of a range. </div><div class="ttdef"><b>Definition:</b> <a href="_common_8cs_source.html#l00032">Common.cs:32</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_ae699eca1782d336864a8f8314fa0d543"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ae699eca1782d336864a8f8314fa0d543">SystemSharp.DataTypes.StdLogicVector.Equals</a></div><div class="ttdeci">override bool Equals(object obj)</div><div class="ttdoc">Two logic vectors are defined to be equal iff they have the same length and are bit-wise identical...</div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00954">StdLogicLib.cs:954</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_range_html"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_range.html">SystemSharp.DataTypes.Range</a></div><div class="ttdoc">A discrete range. </div><div class="ttdef"><b>Definition:</b> <a href="_common_8cs_source.html#l00047">Common.cs:47</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_std_logic_extensions_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html">SystemSharp.DataTypes.StdLogicExtensions</a></div><div class="ttdoc">This static class provides convenience methods for working with logic values, vectors and signals...</div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02250">StdLogicLib.cs:2250</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_bin_op_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_bin_op.html">SystemSharp.SysDOM.BinOp</a></div><div class="ttdoc">Binary operator expression. </div><div class="ttdef"><b>Definition:</b> <a href="_core_algebraic_8cs_source.html#l02718">CoreAlgebraic.cs:2718</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_concat_extensions_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_concat_extensions.html">SystemSharp.DataTypes.ConcatExtensions</a></div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00121">StdLogicLib.cs:121</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_function_spec_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_function_spec.html">SystemSharp.SysDOM.FunctionSpec</a></div><div class="ttdoc">A function specifier with possibly multiple representations in different domains. ...</div><div class="ttdef"><b>Definition:</b> <a href="_core_algebraic_8cs_source.html#l03377">CoreAlgebraic.cs:3377</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_code_descriptor_html"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_code_descriptor.html">SystemSharp.Meta.CodeDescriptor</a></div><div class="ttdoc">This abstract class describes code in the CLI and SysDOM domain. </div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l01472">ComponentsReflection.cs:1472</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_synthesis_1_1_s_l_v_serializable_html"><div class="ttname"><a href="class_system_sharp_1_1_synthesis_1_1_s_l_v_serializable.html">SystemSharp.Synthesis.SLVSerializable</a></div><div class="ttdoc">Indicates that the tagged class or struct is capable of serializing and deserializing itself to and f...</div><div class="ttdef"><b>Definition:</b> <a href="_memory_mapping_8cs_source.html#l00065">MemoryMapping.cs:65</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a7d4877a2f2af9caa132fc82be94772ed"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a7d4877a2f2af9caa132fc82be94772ed">SystemSharp.DataTypes.StdLogicVector.OneCold</a></div><div class="ttdeci">static StdLogicVector OneCold(int count, int pos)</div><div class="ttdoc">Constructs a one-cold encoded logic vector. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00895">StdLogicLib.cs:895</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_dim_spec_html_abd8e34219997a5b65b66e74a8f4c8c25"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_dim_spec.html#abd8e34219997a5b65b66e74a8f4c8c25">SystemSharp.DataTypes.DimSpec.Kind</a></div><div class="ttdeci">EKind Kind</div><div class="ttdoc">Kind of this specifier, index or range </div><div class="ttdef"><b>Definition:</b> <a href="_common_8cs_source.html#l00357">Common.cs:357</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_float_s_l_v_html_a697bae8de9e374ab1ac0c038ea13d41c"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_float_s_l_v.html#a697bae8de9e374ab1ac0c038ea13d41c">SystemSharp.DataTypes.FloatSLV.Serialize</a></div><div class="ttdeci">StdLogicVector Serialize(object value)</div><div class="ttdoc">Serializes an object as StdLogicVector </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00747">StdLogicLib.cs:747</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_bool_s_l_v_html_a1cc6c942232e834292b3411d4db603f6"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_bool_s_l_v.html#a1cc6c942232e834292b3411d4db603f6">SystemSharp.DataTypes.BoolSLV.Serialize</a></div><div class="ttdeci">StdLogicVector Serialize(object value)</div><div class="ttdoc">Serializes an object as StdLogicVector </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00668">StdLogicLib.cs:668</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_dim_spec_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_dim_spec.html">SystemSharp.DataTypes.DimSpec</a></div><div class="ttdoc">A dimensional specifier is either a single index or a range. </div><div class="ttdef"><b>Definition:</b> <a href="_common_8cs_source.html#l00343">Common.cs:343</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_ae11661ae396a4b60aafdea56d4afa382"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ae11661ae396a4b60aafdea56d4afa382">SystemSharp.DataTypes.StdLogicVector.AllSame</a></div><div class="ttdeci">static StdLogicVector AllSame(StdLogic v, long count)</div><div class="ttdoc">Constructs a logical vector by repeating a given logic value. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00802">StdLogicLib.cs:802</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_sys_d_o_m_html_af42b902eef7452e162a95b646eeea911a88183b946cc5f0e8c96b2e66e1c74a7e"><div class="ttname"><a href="namespace_system_sharp_1_1_sys_d_o_m.html#af42b902eef7452e162a95b646eeea911a88183b946cc5f0e8c96b2e66e1c74a7e">SystemSharp.SysDOM.Unknown</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_ae40c20dc58007b7c0d8dde8cde5a869d"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ae40c20dc58007b7c0d8dde8cde5a869d">SystemSharp.DataTypes.StdLogic.StdLogic</a></div><div class="ttdeci">static StdLogic()</div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00267">StdLogicLib.cs:267</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html">SystemSharp.DataTypes.SizedResolvedSignal&lt; TA, TE &gt;</a></div><div class="ttdoc">Base class for indexable signals which perform resolution whenever there are multiple writers in the ...</div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l01939">StdLogicLib.cs:1939</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_signed_html"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_signed.html">SystemSharp.DataTypes.Signed</a></div><div class="ttdoc">Signed integer of arbitrary size </div><div class="ttdef"><b>Definition:</b> <a href="_signed_8cs_source.html#l00634">Signed.cs:634</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_signal_property_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_signal_property.html">SystemSharp.Components.SignalProperty</a></div><div class="ttdoc">If this attribute is attached to a method, it indicates that the method represents a special signal p...</div><div class="ttdef"><b>Definition:</b> <a href="_components_attributes_8cs_source.html#l00204">ComponentsAttributes.cs:204</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a492e9c2c79ab44c83f55d48c2cc96bc7"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a492e9c2c79ab44c83f55d48c2cc96bc7">SystemSharp.DataTypes.StdLogicVector.FromULong</a></div><div class="ttdeci">static StdLogicVector FromULong(ulong value, int size)</div><div class="ttdoc">Converts a ulong value to its binary enconding. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l01841">StdLogicLib.cs:1841</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_analysis_1_1_i_decompiler_html"><div class="ttname"><a href="interface_system_sharp_1_1_analysis_1_1_i_decompiler.html">SystemSharp.Analysis.IDecompiler</a></div><div class="ttdoc">This interface models the decompiler functionality. It is intended to be used inside method rewriters...</div><div class="ttdef"><b>Definition:</b> <a href="_m_s_i_l_decompiler_8cs_source.html#l00666">MSILDecompiler.cs:666</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_long_s_l_v_html_a3ae14016873b015bec0102abdf294fa7"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_long_s_l_v.html#a3ae14016873b015bec0102abdf294fa7">SystemSharp.DataTypes.LongSLV.Serialize</a></div><div class="ttdeci">StdLogicVector Serialize(object value)</div><div class="ttdoc">Serializes an object as StdLogicVector </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00694">StdLogicLib.cs:694</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_ab2cdf4140e28b36845f79bf7035d7ee9"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#ab2cdf4140e28b36845f79bf7035d7ee9">SystemSharp.DataTypes.StdLogicVector.FromLong</a></div><div class="ttdeci">static StdLogicVector FromLong(long value, int size)</div><div class="ttdoc">Converts a long value to its two&#39;s complement enconding. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l01815">StdLogicLib.cs:1815</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_array_params_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_array_params.html">SystemSharp.SysDOM.ArrayParams</a></div><div class="ttdoc">Parameters of the IntrinsicFunction.EAction.NewArray op-code. </div><div class="ttdef"><b>Definition:</b> <a href="_intrinsic_functions_8cs_source.html#l00071">IntrinsicFunctions.cs:71</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_s_l_signal_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_s_l_signal.html">SystemSharp.Components.SLSignal</a></div><div class="ttdoc">A signal which carries logic values </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02308">StdLogicLib.cs:2308</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_std_logic_extensions_html_aa3320382e4562da5bafad655381da8d2"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html#aa3320382e4562da5bafad655381da8d2">SystemSharp.DataTypes.StdLogicExtensions.All</a></div><div class="ttdeci">static StdLogic All(this StdLogicVector slv)</div><div class="ttdoc">Returns &#39;1&#39; iff all bits of slv are set, &#39;0&#39; else </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02291">StdLogicLib.cs:2291</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_model_element_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_model_element.html">SystemSharp.Components.ModelElement</a></div><div class="ttdoc">Declares a type (class or interface) or field as model element. Any read access to a model element is...</div><div class="ttdef"><b>Definition:</b> <a href="_components_attributes_8cs_source.html#l01157">ComponentsAttributes.cs:1157</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a4591d860a90325744dc0ff05841217aa"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a4591d860a90325744dc0ff05841217aa">SystemSharp.DataTypes.StdLogicVector.FromUInt</a></div><div class="ttdeci">static StdLogicVector FromUInt(uint value, int size)</div><div class="ttdoc">Converts a uint value to its binary enconding. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l01854">StdLogicLib.cs:1854</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_type_descriptor_html"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">SystemSharp.Meta.TypeDescriptor</a></div><div class="ttdoc">Describes a type. </div><div class="ttdef"><b>Definition:</b> <a href="_type_descriptor_8cs_source.html#l00120">TypeDescriptor.cs:120</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_analysis_1_1_stack_element_html"><div class="ttname"><a href="struct_system_sharp_1_1_analysis_1_1_stack_element.html">SystemSharp.Analysis.StackElement</a></div><div class="ttdoc">This structure represents a stack element, which is identified by a symbolic expression and a value s...</div><div class="ttdef"><b>Definition:</b> <a href="_m_s_i_l_decompiler_8cs_source.html#l00597">MSILDecompiler.cs:597</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_long_s_l_v_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_long_s_l_v.html">SystemSharp.DataTypes.LongSLV</a></div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00692">StdLogicLib.cs:692</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a6f283d1e362d66f4f77e16e0c15ff592"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a6f283d1e362d66f4f77e16e0c15ff592">SystemSharp.DataTypes.StdLogicVector.Zs</a></div><div class="ttdeci">static StdLogicVector Zs(long count)</div><div class="ttdoc">Returns a logic vector which consists of logic &#39;Z&#39;s of a specified length </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00838">StdLogicLib.cs:838</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function_html_a762cc72094d2dc70761af21448c23880"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function.html#a762cc72094d2dc70761af21448c23880">SystemSharp.SysDOM.IntrinsicFunction.EAction</a></div><div class="ttdeci">EAction</div><div class="ttdoc">Function op-code </div><div class="ttdef"><b>Definition:</b> <a href="_intrinsic_functions_8cs_source.html#l00344">IntrinsicFunctions.cs:344</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a7b64c21170e0a4afcc7a5bd3f0ebc7ad"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a7b64c21170e0a4afcc7a5bd3f0ebc7ad">SystemSharp.DataTypes.StdLogicVector.Xs</a></div><div class="ttdeci">static StdLogicVector Xs(long count)</div><div class="ttdoc">Returns a logic vector which consists of logic &#39;X&#39;s of a specified length </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00849">StdLogicLib.cs:849</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_std_logic_extensions_html_a75c6929bd8460e17003b0bab3ffe27fb"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html#a75c6929bd8460e17003b0bab3ffe27fb">SystemSharp.DataTypes.StdLogicExtensions.FallingEdge</a></div><div class="ttdeci">static bool FallingEdge(this In&lt; StdLogic &gt; slin)</div><div class="ttdoc">Returns true if slin  made a falling edge transition, i.e. its previous value is &#39;1&#39; whereas its curr...</div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02268">StdLogicLib.cs:2268</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_string_s_l_v_html_a4251e1d90806f3d4488869870de99baa"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_string_s_l_v.html#a4251e1d90806f3d4488869870de99baa">SystemSharp.DataTypes.StringSLV.Deserialize</a></div><div class="ttdeci">object Deserialize(StdLogicVector slv, TypeDescriptor targetType)</div><div class="ttdoc">Deserializes an object from an StdLogicVector instance. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00732">StdLogicLib.cs:732</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a2b88c122ab31e982a58f2afa18d39283"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a2b88c122ab31e982a58f2afa18d39283">SystemSharp.DataTypes.StdLogicVector.Size</a></div><div class="ttdeci">int Size</div><div class="ttdoc">Returns the length (i.e. number of bits) of this logic vector. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00984">StdLogicLib.cs:984</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_a1386536806979746228680b479e117e5"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a1386536806979746228680b479e117e5">SystemSharp.DataTypes.StdLogic._1</a></div><div class="ttdeci">static readonly StdLogic _1</div><div class="ttdoc">Logical one </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00299">StdLogicLib.cs:299</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_s_l_v_signal_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_s_l_v_signal.html">SystemSharp.Components.SLVSignal</a></div><div class="ttdoc">A signal which carries logic vectors. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02323">StdLogicLib.cs:2323</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_ad55e3ea0ca01534c3744072cc198c244"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#ad55e3ea0ca01534c3744072cc198c244">SystemSharp.DataTypes.StdLogic.Eq</a></div><div class="ttdeci">static StdLogic Eq(StdLogic sa, StdLogic sb)</div><div class="ttdoc">Computes the logic equivalence of two StdLogic values. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00619">StdLogicLib.cs:619</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_rewrite_call_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_rewrite_call.html">SystemSharp.Components.RewriteCall</a></div><div class="ttdoc">If this attribute is attached to any method or constructor, it instructs the decompiler to treat any ...</div><div class="ttdef"><b>Definition:</b> <a href="_components_attributes_8cs_source.html#l00181">ComponentsAttributes.cs:181</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a1d929bb3052772e9c890159655b8508b"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a1d929bb3052772e9c890159655b8508b">SystemSharp.DataTypes.StdLogicVector._0s</a></div><div class="ttdeci">static StdLogicVector _0s(long count)</div><div class="ttdoc">Returns a logic vector which consists of logic &#39;0&#39;s of a specified length </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00816">StdLogicLib.cs:816</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_std_logic_extensions_html_a63ab4ee90fb5390fa5ef44638e18ab54"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html#a63ab4ee90fb5390fa5ef44638e18ab54">SystemSharp.DataTypes.StdLogicExtensions.RisingEdge</a></div><div class="ttdeci">static bool RisingEdge(this In&lt; StdLogic &gt; slin)</div><div class="ttdoc">Returns true if slin  made a rising edge transition, i.e. its previous value is &#39;0&#39; whereas its curre...</div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02257">StdLogicLib.cs:2257</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_s_l_v_signal_html_aefb71fc7538fa5e6e87893783a7a9365"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_s_l_v_signal.html#aefb71fc7538fa5e6e87893783a7a9365">SystemSharp.Components.SLVSignal.SLVSignal</a></div><div class="ttdeci">SLVSignal(int size)</div><div class="ttdoc">Constructs an instance. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02329">StdLogicLib.cs:2329</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_intrinsic_function.html">SystemSharp.SysDOM.IntrinsicFunction</a></div><div class="ttdoc">Describes a SysDOM-intrinsic function. </div><div class="ttdef"><b>Definition:</b> <a href="_intrinsic_functions_8cs_source.html#l00339">IntrinsicFunctions.cs:339</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_float_s_l_v_html_aeab63c5c7fde1cb7100fb406019f2a8e"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_float_s_l_v.html#aeab63c5c7fde1cb7100fb406019f2a8e">SystemSharp.DataTypes.FloatSLV.Deserialize</a></div><div class="ttdeci">object Deserialize(StdLogicVector slv, TypeDescriptor targetType)</div><div class="ttdoc">Deserializes an object from an StdLogicVector instance. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00752">StdLogicLib.cs:752</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_index_spec_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_index_spec.html">SystemSharp.DataTypes.IndexSpec</a></div><div class="ttdoc">An index specifier is an aggregation of dimensional specifiers. </div><div class="ttdef"><b>Definition:</b> <a href="_common_8cs_source.html#l00475">Common.cs:475</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_s_l_v_extensions_html_a289d0d0f41fdf4c28035202ffa5809c2"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_s_l_v_extensions.html#a289d0d0f41fdf4c28035202ffa5809c2">SystemSharp.Components.SLVExtensions.Size</a></div><div class="ttdeci">static int Size(this InOut&lt; StdLogicVector &gt; port)</div><div class="ttdoc">Returns the data vector size by querying the underlying SLVSignal. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02354">StdLogicLib.cs:2354</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_s_l_v_s_l_v_html_a520a607fc5da728cd6a862d7218a808b"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_s_l_v_s_l_v.html#a520a607fc5da728cd6a862d7218a808b">SystemSharp.DataTypes.SLVSLV.Serialize</a></div><div class="ttdeci">StdLogicVector Serialize(object value)</div><div class="ttdoc">Serializes an object as StdLogicVector </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00655">StdLogicLib.cs:655</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4_html_a1dc276f70174f985fc7ac20c7770fddf"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_sized_resolved_signal_3_01_t_a_00_01_t_e_01_4.html#a1dc276f70174f985fc7ac20c7770fddf">SystemSharp.DataTypes.SizedResolvedSignal&lt; TA, TE &gt;.SizedResolvedSignal</a></div><div class="ttdeci">SizedResolvedSignal(int size)</div><div class="ttdoc">Constructs an instance. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02127">StdLogicLib.cs:2127</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_int_s_l_v_html_a140658dc8cd915fe50aacb2c60258262"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_int_s_l_v.html#a140658dc8cd915fe50aacb2c60258262">SystemSharp.DataTypes.IntSLV.Serialize</a></div><div class="ttdeci">StdLogicVector Serialize(object value)</div><div class="ttdoc">Serializes an object as StdLogicVector </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00681">StdLogicLib.cs:681</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a72c65e2ff4deb0f6fba45038a171509b"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a72c65e2ff4deb0f6fba45038a171509b">SystemSharp.DataTypes.StdLogicVector.FromInt</a></div><div class="ttdeci">static StdLogicVector FromInt(int value, int size)</div><div class="ttdoc">Converts an int value to its two&#39;s complement enconding. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l01828">StdLogicLib.cs:1828</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_s_l_v_signal_html_a175c084663f03256e8e26fc8a0a46344"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_s_l_v_signal.html#a175c084663f03256e8e26fc8a0a46344">SystemSharp.Components.SLVSignal.SLVSignal</a></div><div class="ttdeci">SLVSignal(StdLogicVector initValue)</div><div class="ttdoc">Constructs an instance with given initial value. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02339">StdLogicLib.cs:2339</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_components_html_a1b363c1bde8fdda4245b1c5c616e328ea47a54d9da8952a3980d27488b00a21c1"><div class="ttname"><a href="namespace_system_sharp_1_1_components.html#a1b363c1bde8fdda4245b1c5c616e328ea47a54d9da8952a3980d27488b00a21c1">SystemSharp.Components.InOut</a></div><div class="ttdoc">Mixed input and output </div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_a7e55b365bffd549bddb21269f742b50d"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#a7e55b365bffd549bddb21269f742b50d">SystemSharp.DataTypes.StdLogic.Concat</a></div><div class="ttdeci">StdLogicVector Concat(StdLogic sl)</div><div class="ttdoc">Appends another logical value to this value and returns the resulting logic vector. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00528">StdLogicLib.cs:528</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_double_s_l_v_html_a147dc7577bcd54fa385c69daa1ca5223"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_double_s_l_v.html#a147dc7577bcd54fa385c69daa1ca5223">SystemSharp.DataTypes.DoubleSLV.Deserialize</a></div><div class="ttdeci">object Deserialize(StdLogicVector slv, TypeDescriptor targetType)</div><div class="ttdoc">Deserializes an object from an StdLogicVector instance. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00765">StdLogicLib.cs:765</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_char_s_l_v_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_char_s_l_v.html">SystemSharp.DataTypes.CharSLV</a></div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00705">StdLogicLib.cs:705</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_std_logic_s_l_v_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_std_logic_s_l_v.html">SystemSharp.DataTypes.StdLogicSLV</a></div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00173">StdLogicLib.cs:173</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_s_l_v_concat_rewriter_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_s_l_v_concat_rewriter.html">SystemSharp.Components.SLVConcatRewriter</a></div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02376">StdLogicLib.cs:2376</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_int_s_l_v_html_a71cc048b2d96bd5a3ad33ba84a2055ca"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_int_s_l_v.html#a71cc048b2d96bd5a3ad33ba84a2055ca">SystemSharp.DataTypes.IntSLV.Deserialize</a></div><div class="ttdeci">object Deserialize(StdLogicVector slv, TypeDescriptor targetType)</div><div class="ttdoc">Deserializes an object from an StdLogicVector instance. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00686">StdLogicLib.cs:686</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_s_l_signal_html_af2495c687542ab4c8d2aff2adbc7c0f5"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_s_l_signal.html#af2495c687542ab4c8d2aff2adbc7c0f5">SystemSharp.Components.SLSignal.SLSignal</a></div><div class="ttdeci">SLSignal()</div><div class="ttdoc">Constructs an instance. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02314">StdLogicLib.cs:2314</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_double_s_l_v_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_double_s_l_v.html">SystemSharp.DataTypes.DoubleSLV</a></div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00758">StdLogicLib.cs:758</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_abbec3123b2d1b5f7c9013cf3d65016c6"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#abbec3123b2d1b5f7c9013cf3d65016c6">SystemSharp.DataTypes.StdLogic._0</a></div><div class="ttdeci">static readonly StdLogic _0</div><div class="ttdoc">Logical zero </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00293">StdLogicLib.cs:293</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_add25ddf0ef60da1dbb758c712b89fc03"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#add25ddf0ef60da1dbb758c712b89fc03">SystemSharp.DataTypes.StdLogic.DC</a></div><div class="ttdeci">static readonly StdLogic DC</div><div class="ttdoc">Don&#39;t care </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00329">StdLogicLib.cs:329</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_s_l_v_s_l_v_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_s_l_v_s_l_v.html">SystemSharp.DataTypes.SLVSLV</a></div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00653">StdLogicLib.cs:653</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_index_spec_html_ad8bcff25c02b8ee9bad9de6a18ded154"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_index_spec.html#ad8bcff25c02b8ee9bad9de6a18ded154">SystemSharp.DataTypes.IndexSpec.Indices</a></div><div class="ttdeci">DimSpec[] Indices</div><div class="ttdoc">The dimensional specifiers </div><div class="ttdef"><b>Definition:</b> <a href="_common_8cs_source.html#l00485">Common.cs:485</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_long_s_l_v_html_a226be973e4a78119fdd6927d2770657a"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_long_s_l_v.html#a226be973e4a78119fdd6927d2770657a">SystemSharp.DataTypes.LongSLV.Deserialize</a></div><div class="ttdeci">object Deserialize(StdLogicVector slv, TypeDescriptor targetType)</div><div class="ttdoc">Deserializes an object from an StdLogicVector instance. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00699">StdLogicLib.cs:699</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">SystemSharp.DataTypes.StdLogic</a></div><div class="ttdoc">This data type represents a single bit of four-valued logic, similiar to IEEE 1164. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00192">StdLogicLib.cs:192</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a485e31bf8a5e48cf0d010dd1e3fcceae"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a485e31bf8a5e48cf0d010dd1e3fcceae">SystemSharp.DataTypes.StdLogicVector.DCs</a></div><div class="ttdeci">static StdLogicVector DCs(long count)</div><div class="ttdoc">Returns a logic vector which consists of logic &#39;-&#39;s of a specified length </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00871">StdLogicLib.cs:871</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_signal_ref.html">SystemSharp.SysDOM.SignalRef</a></div><div class="ttdoc">Signal reference literal </div><div class="ttdef"><b>Definition:</b> <a href="_literals_8cs_source.html#l00498">Literals.cs:498</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_std_logic_extensions_html_a1633cdfc8f0cb51fb845315788599e6a"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_std_logic_extensions.html#a1633cdfc8f0cb51fb845315788599e6a">SystemSharp.DataTypes.StdLogicExtensions.Any</a></div><div class="ttdeci">static StdLogic Any(this StdLogicVector slv)</div><div class="ttdoc">Returns &#39;1&#39; iff any bit of slv is set, &#39;0&#39; else </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l02277">StdLogicLib.cs:2277</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_a973135fcd13cde839508b321c0eaa271"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#a973135fcd13cde839508b321c0eaa271">SystemSharp.DataTypes.StdLogicVector._1s</a></div><div class="ttdeci">static StdLogicVector _1s(long count)</div><div class="ttdoc">Returns a logic vector which consists of logic &#39;1&#39;s of a specified length </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00827">StdLogicLib.cs:827</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_vector_html_af81d20a4fba737c40cef618347ae3cb1"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic_vector.html#af81d20a4fba737c40cef618347ae3cb1">SystemSharp.DataTypes.StdLogicVector.Concat</a></div><div class="ttdeci">StdLogicVector Concat(StdLogic sl)</div><div class="ttdoc">Appends a logic value to this logic vector. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l01257">StdLogicLib.cs:1257</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_side_effect_free_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SystemSharp.Components.SideEffectFree</a></div><div class="ttdoc">Indicates that the tagged method is free from side effects, i.e. it may be called during analysis and...</div><div class="ttdef"><b>Definition:</b> <a href="_components_attributes_8cs_source.html#l01227">ComponentsAttributes.cs:1227</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_data_types_1_1_int_s_l_v_html"><div class="ttname"><a href="class_system_sharp_1_1_data_types_1_1_int_s_l_v.html">SystemSharp.DataTypes.IntSLV</a></div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00679">StdLogicLib.cs:679</a></div></div>
<div class="ttc" id="struct_system_sharp_1_1_data_types_1_1_std_logic_html_aa097c6c5e30b22f7b15db33d8b07a9c9"><div class="ttname"><a href="struct_system_sharp_1_1_data_types_1_1_std_logic.html#aa097c6c5e30b22f7b15db33d8b07a9c9">SystemSharp.DataTypes.StdLogic.ToEnum</a></div><div class="ttdeci">static EValues ToEnum(char c)</div><div class="ttdoc">Interprets a character as StdLogic literal. </div><div class="ttdef"><b>Definition:</b> <a href="_std_logic_lib_8cs_source.html#l00353">StdLogicLib.cs:353</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_bb5e995590685548b7e11478911ee7c3.html">SystemSharp-Google-SVN</a></li><li class="navelem"><a class="el" href="dir_8deefa4467a62b572b52d238d562b104.html">SystemSharp</a></li><li class="navelem"><a class="el" href="dir_0e5a72156f8560bbc472a395da2569d6.html">SystemSharp</a></li><li class="navelem"><a class="el" href="dir_9d3c30b4336bd92c64ccf0aeee487ace.html">SystemSharp</a></li><li class="navelem"><a class="el" href="dir_487428fe460a800f88fb12ae0b935462.html">DataTypes</a></li><li class="navelem"><a class="el" href="_std_logic_lib_8cs.html">StdLogicLib.cs</a></li>
    <li class="footer">Generated on Thu Dec 26 2013 14:21:43 for SystemSharp by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
